Move Android Extras as private APIs under qtbase
To the option to users to use some needed APIs until we make them ready as proper cross-platform public APIs. Change-Id: I53006397463331ebae8314bf8a3a019474aec617 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
This commit is contained in:
parent
75d8623752
commit
ee05af296f
@ -0,0 +1,69 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2017 BogDan Vatra <bogdan@kde.org>
|
||||||
|
** Contact: https://www.qt.io/licensing/
|
||||||
|
**
|
||||||
|
** This file is part of the Android port of the Qt Toolkit.
|
||||||
|
**
|
||||||
|
** $QT_BEGIN_LICENSE:LGPL$
|
||||||
|
** Commercial License Usage
|
||||||
|
** Licensees holding valid commercial Qt licenses may use this file in
|
||||||
|
** accordance with the commercial license agreement provided with the
|
||||||
|
** Software or, alternatively, in accordance with the terms contained in
|
||||||
|
** a written agreement between you and The Qt Company. For licensing terms
|
||||||
|
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||||
|
** information use the contact form at https://www.qt.io/contact-us.
|
||||||
|
**
|
||||||
|
** GNU Lesser General Public License Usage
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||||
|
** General Public License version 3 as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.LGPL3 included in the
|
||||||
|
** packaging of this file. Please review the following information to
|
||||||
|
** ensure the GNU Lesser General Public License version 3 requirements
|
||||||
|
** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
|
||||||
|
**
|
||||||
|
** GNU General Public License Usage
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU
|
||||||
|
** General Public License version 2.0 or (at your option) the GNU General
|
||||||
|
** Public license version 3 or any later version approved by the KDE Free
|
||||||
|
** Qt Foundation. The licenses are as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
|
||||||
|
** included in the packaging of this file. Please review the following
|
||||||
|
** information to ensure the GNU General Public License requirements will
|
||||||
|
** be met: https://www.gnu.org/licenses/gpl-2.0.html and
|
||||||
|
** https://www.gnu.org/licenses/gpl-3.0.html.
|
||||||
|
**
|
||||||
|
** $QT_END_LICENSE$
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
package org.qtproject.qt.android.extras;
|
||||||
|
|
||||||
|
import android.os.Binder;
|
||||||
|
import android.os.Parcel;
|
||||||
|
|
||||||
|
public class QtAndroidBinder extends Binder
|
||||||
|
{
|
||||||
|
public QtAndroidBinder(long id)
|
||||||
|
{
|
||||||
|
m_id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(long id)
|
||||||
|
{
|
||||||
|
synchronized(this)
|
||||||
|
{
|
||||||
|
m_id = id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected boolean onTransact(int code, Parcel data, Parcel reply, int flags)
|
||||||
|
{
|
||||||
|
synchronized(this)
|
||||||
|
{
|
||||||
|
return QtNative.onTransact(m_id, code, data, reply, flags);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private long m_id;
|
||||||
|
}
|
@ -0,0 +1,78 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2017 BogDan Vatra <bogdan@kde.org>
|
||||||
|
** Contact: https://www.qt.io/licensing/
|
||||||
|
**
|
||||||
|
** This file is part of the Android port of the Qt Toolkit.
|
||||||
|
**
|
||||||
|
** $QT_BEGIN_LICENSE:LGPL$
|
||||||
|
** Commercial License Usage
|
||||||
|
** Licensees holding valid commercial Qt licenses may use this file in
|
||||||
|
** accordance with the commercial license agreement provided with the
|
||||||
|
** Software or, alternatively, in accordance with the terms contained in
|
||||||
|
** a written agreement between you and The Qt Company. For licensing terms
|
||||||
|
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||||
|
** information use the contact form at https://www.qt.io/contact-us.
|
||||||
|
**
|
||||||
|
** GNU Lesser General Public License Usage
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||||
|
** General Public License version 3 as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.LGPL3 included in the
|
||||||
|
** packaging of this file. Please review the following information to
|
||||||
|
** ensure the GNU Lesser General Public License version 3 requirements
|
||||||
|
** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
|
||||||
|
**
|
||||||
|
** GNU General Public License Usage
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU
|
||||||
|
** General Public License version 2.0 or (at your option) the GNU General
|
||||||
|
** Public license version 3 or any later version approved by the KDE Free
|
||||||
|
** Qt Foundation. The licenses are as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
|
||||||
|
** included in the packaging of this file. Please review the following
|
||||||
|
** information to ensure the GNU General Public License requirements will
|
||||||
|
** be met: https://www.gnu.org/licenses/gpl-2.0.html and
|
||||||
|
** https://www.gnu.org/licenses/gpl-3.0.html.
|
||||||
|
**
|
||||||
|
** $QT_END_LICENSE$
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
package org.qtproject.qt.android.extras;
|
||||||
|
|
||||||
|
import android.content.ComponentName;
|
||||||
|
import android.content.ServiceConnection;
|
||||||
|
import android.os.IBinder;
|
||||||
|
|
||||||
|
public class QtAndroidServiceConnection implements ServiceConnection
|
||||||
|
{
|
||||||
|
public QtAndroidServiceConnection(long id)
|
||||||
|
{
|
||||||
|
m_id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(long id)
|
||||||
|
{
|
||||||
|
synchronized(this)
|
||||||
|
{
|
||||||
|
m_id = id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onServiceConnected(ComponentName name, IBinder service)
|
||||||
|
{
|
||||||
|
synchronized(this) {
|
||||||
|
QtNative.onServiceConnected(m_id, name.flattenToString(), service);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onServiceDisconnected(ComponentName name)
|
||||||
|
{
|
||||||
|
synchronized(this) {
|
||||||
|
QtNative.onServiceDisconnected(m_id, name.flattenToString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private long m_id;
|
||||||
|
}
|
@ -0,0 +1,55 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2017 BogDan Vatra <bogdan@kde.org>
|
||||||
|
** Contact: https://www.qt.io/licensing/
|
||||||
|
**
|
||||||
|
** This file is part of the Android port of the Qt Toolkit.
|
||||||
|
**
|
||||||
|
** $QT_BEGIN_LICENSE:LGPL$
|
||||||
|
** Commercial License Usage
|
||||||
|
** Licensees holding valid commercial Qt licenses may use this file in
|
||||||
|
** accordance with the commercial license agreement provided with the
|
||||||
|
** Software or, alternatively, in accordance with the terms contained in
|
||||||
|
** a written agreement between you and The Qt Company. For licensing terms
|
||||||
|
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||||
|
** information use the contact form at https://www.qt.io/contact-us.
|
||||||
|
**
|
||||||
|
** GNU Lesser General Public License Usage
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||||
|
** General Public License version 3 as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.LGPL3 included in the
|
||||||
|
** packaging of this file. Please review the following information to
|
||||||
|
** ensure the GNU Lesser General Public License version 3 requirements
|
||||||
|
** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
|
||||||
|
**
|
||||||
|
** GNU General Public License Usage
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU
|
||||||
|
** General Public License version 2.0 or (at your option) the GNU General
|
||||||
|
** Public license version 3 or any later version approved by the KDE Free
|
||||||
|
** Qt Foundation. The licenses are as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
|
||||||
|
** included in the packaging of this file. Please review the following
|
||||||
|
** information to ensure the GNU General Public License requirements will
|
||||||
|
** be met: https://www.gnu.org/licenses/gpl-2.0.html and
|
||||||
|
** https://www.gnu.org/licenses/gpl-3.0.html.
|
||||||
|
**
|
||||||
|
** $QT_END_LICENSE$
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
package org.qtproject.qt.android.extras;
|
||||||
|
|
||||||
|
import android.content.ComponentName;
|
||||||
|
import android.content.ServiceConnection;
|
||||||
|
import android.os.IBinder;
|
||||||
|
import android.os.Parcel;
|
||||||
|
|
||||||
|
public class QtNative {
|
||||||
|
// Binder
|
||||||
|
public static native boolean onTransact(long id, int code, Parcel data, Parcel reply, int flags);
|
||||||
|
|
||||||
|
|
||||||
|
// ServiceConnection
|
||||||
|
public static native void onServiceConnected(long id, String name, IBinder service);
|
||||||
|
public static native void onServiceDisconnected(long id, String name);
|
||||||
|
}
|
@ -983,6 +983,7 @@ qt_internal_extend_target(Core CONDITION ANDROID AND NOT ANDROID_EMBEDDED
|
|||||||
kernel/qjnienvironment.cpp kernel/qjnienvironment.h
|
kernel/qjnienvironment.cpp kernel/qjnienvironment.h
|
||||||
kernel/qjniobject.cpp kernel/qjniobject.h
|
kernel/qjniobject.cpp kernel/qjniobject.h
|
||||||
kernel/qjnihelpers.cpp kernel/qjnihelpers_p.h
|
kernel/qjnihelpers.cpp kernel/qjnihelpers_p.h
|
||||||
|
platform/android/qandroidextras_p.h platform/android/qandroidextras.cpp
|
||||||
platform/android/qandroidnativeinterface.cpp
|
platform/android/qandroidnativeinterface.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
|
1030
src/corelib/platform/android/qandroidextras.cpp
Normal file
1030
src/corelib/platform/android/qandroidextras.cpp
Normal file
File diff suppressed because it is too large
Load Diff
262
src/corelib/platform/android/qandroidextras_p.h
Normal file
262
src/corelib/platform/android/qandroidextras_p.h
Normal file
@ -0,0 +1,262 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2016 The Qt Company Ltd.
|
||||||
|
** Contact: https://www.qt.io/licensing/
|
||||||
|
**
|
||||||
|
** This file is part of the QtCore module of the Qt Toolkit.
|
||||||
|
**
|
||||||
|
** $QT_BEGIN_LICENSE:LGPL$
|
||||||
|
** Commercial License Usage
|
||||||
|
** Licensees holding valid commercial Qt licenses may use this file in
|
||||||
|
** accordance with the commercial license agreement provided with the
|
||||||
|
** Software or, alternatively, in accordance with the terms contained in
|
||||||
|
** a written agreement between you and The Qt Company. For licensing terms
|
||||||
|
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||||
|
** information use the contact form at https://www.qt.io/contact-us.
|
||||||
|
**
|
||||||
|
** GNU Lesser General Public License Usage
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||||
|
** General Public License version 3 as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.LGPL3 included in the
|
||||||
|
** packaging of this file. Please review the following information to
|
||||||
|
** ensure the GNU Lesser General Public License version 3 requirements
|
||||||
|
** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
|
||||||
|
**
|
||||||
|
** GNU General Public License Usage
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU
|
||||||
|
** General Public License version 2.0 or (at your option) the GNU General
|
||||||
|
** Public license version 3 or any later version approved by the KDE Free
|
||||||
|
** Qt Foundation. The licenses are as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
|
||||||
|
** included in the packaging of this file. Please review the following
|
||||||
|
** information to ensure the GNU General Public License requirements will
|
||||||
|
** be met: https://www.gnu.org/licenses/gpl-2.0.html and
|
||||||
|
** https://www.gnu.org/licenses/gpl-3.0.html.
|
||||||
|
**
|
||||||
|
** $QT_END_LICENSE$
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#ifndef QANDROIDEXTRAS_H
|
||||||
|
#define QANDROIDEXTRAS_H
|
||||||
|
|
||||||
|
//
|
||||||
|
// W A R N I N G
|
||||||
|
// -------------
|
||||||
|
//
|
||||||
|
// This file is not part of the Qt API. It exists purely as an
|
||||||
|
// implementation detail. This header file may change from version to
|
||||||
|
// version without notice, or even be removed.
|
||||||
|
//
|
||||||
|
// We mean it.
|
||||||
|
//
|
||||||
|
|
||||||
|
#include <jni.h>
|
||||||
|
#include <functional>
|
||||||
|
|
||||||
|
#include <QtCore/private/qglobal_p.h>
|
||||||
|
#include <QtCore/qjniobject.h>
|
||||||
|
#include <QtCore/private/qjnihelpers_p.h>
|
||||||
|
#include <QtCore/qcoreapplication.h>
|
||||||
|
#include <QtCore/qmap.h>
|
||||||
|
|
||||||
|
QT_BEGIN_NAMESPACE
|
||||||
|
|
||||||
|
class QAndroidParcel;
|
||||||
|
class QAndroidBinderPrivate;
|
||||||
|
class QAndroidBinder;
|
||||||
|
|
||||||
|
class Q_CORE_EXPORT QAndroidBinder
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
enum class CallType {
|
||||||
|
Normal = 0,
|
||||||
|
OneWay = 1
|
||||||
|
};
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit QAndroidBinder();
|
||||||
|
QAndroidBinder(const QJniObject &binder);
|
||||||
|
|
||||||
|
virtual ~QAndroidBinder();
|
||||||
|
|
||||||
|
virtual bool onTransact(int code, const QAndroidParcel &data,
|
||||||
|
const QAndroidParcel &reply, CallType flags);
|
||||||
|
bool transact(int code, const QAndroidParcel &data,
|
||||||
|
QAndroidParcel *reply = nullptr, CallType flags = CallType::Normal) const;
|
||||||
|
|
||||||
|
QJniObject handle() const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
friend class QAndroidBinderPrivate;
|
||||||
|
friend class QAndroidParcelPrivate;
|
||||||
|
friend class QAndroidServicePrivate;
|
||||||
|
QSharedPointer<QAndroidBinderPrivate> d;
|
||||||
|
};
|
||||||
|
|
||||||
|
class QAndroidParcelPrivate;
|
||||||
|
|
||||||
|
class Q_CORE_EXPORT QAndroidParcel
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
QAndroidParcel();
|
||||||
|
explicit QAndroidParcel(const QJniObject& parcel);
|
||||||
|
virtual ~QAndroidParcel();
|
||||||
|
|
||||||
|
void writeData(const QByteArray &data) const;
|
||||||
|
void writeVariant(const QVariant &value) const;
|
||||||
|
void writeBinder(const QAndroidBinder &binder) const;
|
||||||
|
void writeFileDescriptor(int fd) const;
|
||||||
|
|
||||||
|
QByteArray readData() const;
|
||||||
|
QVariant readVariant() const;
|
||||||
|
QAndroidBinder readBinder() const;
|
||||||
|
int readFileDescriptor() const;
|
||||||
|
|
||||||
|
QJniObject handle() const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
friend class QAndroidParcelPrivate;
|
||||||
|
friend class QAndroidBinder;
|
||||||
|
QSharedPointer<QAndroidParcelPrivate> d;
|
||||||
|
};
|
||||||
|
|
||||||
|
class QAndroidActivityResultReceiverPrivate;
|
||||||
|
|
||||||
|
class Q_CORE_EXPORT QAndroidActivityResultReceiver
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
QAndroidActivityResultReceiver();
|
||||||
|
virtual ~QAndroidActivityResultReceiver();
|
||||||
|
virtual void handleActivityResult(int receiverRequestCode, int resultCode,
|
||||||
|
const QJniObject &data) = 0;
|
||||||
|
|
||||||
|
private:
|
||||||
|
friend class QAndroidActivityResultReceiverPrivate;
|
||||||
|
Q_DISABLE_COPY(QAndroidActivityResultReceiver)
|
||||||
|
|
||||||
|
QScopedPointer<QAndroidActivityResultReceiverPrivate> d;
|
||||||
|
};
|
||||||
|
|
||||||
|
class Q_CORE_EXPORT QAndroidServiceConnection
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
QAndroidServiceConnection();
|
||||||
|
explicit QAndroidServiceConnection(const QJniObject &serviceConnection);
|
||||||
|
virtual ~QAndroidServiceConnection();
|
||||||
|
|
||||||
|
virtual void onServiceConnected(const QString &name,
|
||||||
|
const QAndroidBinder &serviceBinder) = 0;
|
||||||
|
virtual void onServiceDisconnected(const QString &name) = 0;
|
||||||
|
|
||||||
|
QJniObject handle() const;
|
||||||
|
private:
|
||||||
|
Q_DISABLE_COPY(QAndroidServiceConnection)
|
||||||
|
QJniObject m_handle;
|
||||||
|
};
|
||||||
|
|
||||||
|
class Q_CORE_EXPORT QAndroidIntent
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
QAndroidIntent();
|
||||||
|
virtual ~QAndroidIntent();
|
||||||
|
explicit QAndroidIntent(const QJniObject &intent);
|
||||||
|
explicit QAndroidIntent(const QString &action);
|
||||||
|
explicit QAndroidIntent(const QJniObject &packageContext, const char *className);
|
||||||
|
|
||||||
|
void putExtra(const QString &key, const QByteArray &data);
|
||||||
|
QByteArray extraBytes(const QString &key);
|
||||||
|
|
||||||
|
void putExtra(const QString &key, const QVariant &value);
|
||||||
|
QVariant extraVariant(const QString &key);
|
||||||
|
|
||||||
|
QJniObject handle() const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
QJniObject m_handle;
|
||||||
|
};
|
||||||
|
|
||||||
|
class QAndroidServicePrivate;
|
||||||
|
|
||||||
|
class Q_CORE_EXPORT QAndroidService : public QCoreApplication
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
QAndroidService(int &argc, char **argv
|
||||||
|
#ifndef Q_QDOC
|
||||||
|
, int flags = ApplicationFlags
|
||||||
|
#endif
|
||||||
|
);
|
||||||
|
QAndroidService(int &argc, char **argv,
|
||||||
|
const std::function<QAndroidBinder*(const QAndroidIntent &intent)> & binder
|
||||||
|
#ifndef Q_QDOC
|
||||||
|
, int flags = ApplicationFlags
|
||||||
|
#endif
|
||||||
|
);
|
||||||
|
virtual ~QAndroidService();
|
||||||
|
|
||||||
|
virtual QAndroidBinder* onBind(const QAndroidIntent &intent);
|
||||||
|
|
||||||
|
private:
|
||||||
|
friend class QAndroidServicePrivate;
|
||||||
|
Q_DISABLE_COPY(QAndroidService)
|
||||||
|
|
||||||
|
QScopedPointer<QAndroidServicePrivate> d;
|
||||||
|
};
|
||||||
|
|
||||||
|
class QAndroidActivityCallbackResultReceiver: public QAndroidActivityResultReceiver
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
QAndroidActivityCallbackResultReceiver();
|
||||||
|
void handleActivityResult(int receiverRequestCode, int resultCode,
|
||||||
|
const QJniObject &intent) override;
|
||||||
|
void registerCallback(int receiverRequestCode,
|
||||||
|
std::function<void(int, int, const QJniObject &)> callbackFunc);
|
||||||
|
|
||||||
|
static QAndroidActivityCallbackResultReceiver *instance();
|
||||||
|
private:
|
||||||
|
QMap<int, std::function<void(int, int, const QJniObject &data)>> callbackMap;
|
||||||
|
|
||||||
|
static QAndroidActivityCallbackResultReceiver *s_instance;
|
||||||
|
};
|
||||||
|
|
||||||
|
namespace QtAndroidPrivate
|
||||||
|
{
|
||||||
|
Q_CORE_EXPORT void startIntentSender(const QJniObject &intentSender,
|
||||||
|
int receiverRequestCode,
|
||||||
|
QAndroidActivityResultReceiver *resultReceiver = nullptr);
|
||||||
|
Q_CORE_EXPORT void startActivity(const QJniObject &intent,
|
||||||
|
int receiverRequestCode,
|
||||||
|
QAndroidActivityResultReceiver *resultReceiver = nullptr);
|
||||||
|
Q_CORE_EXPORT void startActivity(const QAndroidIntent &intent,
|
||||||
|
int receiverRequestCode,
|
||||||
|
QAndroidActivityResultReceiver *resultReceiver = nullptr);
|
||||||
|
Q_CORE_EXPORT void startActivity(const QJniObject &intent,
|
||||||
|
int receiverRequestCode,
|
||||||
|
std::function<void(int, int, const QJniObject &data)>
|
||||||
|
callbackFunc);
|
||||||
|
|
||||||
|
enum class BindFlag {
|
||||||
|
None = 0x00000000,
|
||||||
|
AutoCreate = 0x00000001,
|
||||||
|
DebugUnbind = 0x00000002,
|
||||||
|
NotForeground = 0x00000004,
|
||||||
|
AboveClient = 0x00000008,
|
||||||
|
AllowOomManagement = 0x00000010,
|
||||||
|
WaivePriority = 0x00000020,
|
||||||
|
Important = 0x00000040,
|
||||||
|
AdjustWithActivity = 0x00000080,
|
||||||
|
ExternalService = -2147483648 // 0x80000000
|
||||||
|
|
||||||
|
};
|
||||||
|
Q_DECLARE_FLAGS(BindFlags, BindFlag)
|
||||||
|
|
||||||
|
Q_CORE_EXPORT bool bindService(const QAndroidIntent &serviceIntent,
|
||||||
|
const QAndroidServiceConnection &serviceConnection,
|
||||||
|
BindFlags flags = BindFlag::None);
|
||||||
|
}
|
||||||
|
|
||||||
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
|
#endif // QANDROIDEXTRAS_H
|
Loading…
x
Reference in New Issue
Block a user