QtAndroid Namespace
The QtAndroid namespace provides miscellaneous functions to aid Android development. More...
Header: | #include <QtAndroid> |
qmake: | QT += androidextras |
Since: | Qt 5.3 |
Types
enum | BindFlag { None, AutoCreate, DebugUnbind, NotForeground, ..., ExternalService } |
flags | BindFlags |
enum | PermissionResult { Granted, Denied } |
typedef | PermissionResultCallback |
typedef | PermissionResultMap |
typedef | Runnable |
Functions
QAndroidJniObject | androidActivity() |
QAndroidJniObject | androidContext() |
int | androidSdkVersion() |
QAndroidJniObject | androidService() |
bool | bindService(const QAndroidIntent &serviceIntent, const QAndroidServiceConnection &serviceConnection, QtAndroid::BindFlags flags = BindFlag::None) |
QtAndroid::PermissionResult | checkPermission(const QString &permission) |
void | hideSplashScreen() |
void | hideSplashScreen(int duration) |
void | requestPermissions(const QStringList &permissions, const QtAndroid::PermissionResultCallback &callbackFunc) |
QtAndroid::PermissionResultMap | requestPermissionsSync(const QStringList &permissions, int timeoutMs = INT_MAX) |
void | runOnAndroidThread(const QtAndroid::Runnable &runnable) |
void | runOnAndroidThreadSync(const QtAndroid::Runnable &runnable, int timeoutMs = INT_MAX) |
bool | shouldShowRequestPermissionRationale(const QString &permission) |
void | startActivity(const QAndroidJniObject &intent, int receiverRequestCode, QAndroidActivityResultReceiver *resultReceiver = nullptr) |
void | startIntentSender(const QAndroidJniObject &intentSender, int receiverRequestCode, QAndroidActivityResultReceiver *resultReceiver = nullptr) |
Detailed Description
The QtAndroid namespace provides miscellaneous functions to aid Android development.
Namespaces
Classes
Type Documentation
enum QtAndroid::BindFlag
flags QtAndroid::BindFlags
This enum is used with QtAndroid::bindService to describe the mode in which the binding is performed.
Constant | Value | Description |
---|---|---|
QtAndroid::None | 0x00000000 | No options. |
QtAndroid::AutoCreate | 0x00000001 | Automatically creates the service as long as the binding exist. See BIND_AUTO_CREATE documentation for more details. |
QtAndroid::DebugUnbind | 0x00000002 | Include debugging help for mismatched calls to unbind. See BIND_DEBUG_UNBIND documentation for more details. |
QtAndroid::NotForeground | 0x00000004 | Don't allow this binding to raise the target service's process to the foreground scheduling priority. See BIND_NOT_FOREGROUND documentation for more details. |
QtAndroid::AboveClient | 0x00000008 | Indicates that the client application binding to this service considers the service to be more important than the app itself. See BIND_ABOVE_CLIENT documentation for more details. |
QtAndroid::AllowOomManagement | 0x00000010 | Allow the process hosting the bound service to go through its normal memory management. See BIND_ALLOW_OOM_MANAGEMENT documentation for more details. |
QtAndroid::WaivePriority | 0x00000020 | Don't impact the scheduling or memory management priority of the target service's hosting process. See BIND_WAIVE_PRIORITY documentation for more details. |
QtAndroid::Important | 0x00000040 | This service is assigned a higher priority so that it is available to the client when needed. See BIND_IMPORTANT documentation for more details. |
QtAndroid::AdjustWithActivity | 0x00000080 | If binding from an activity, allow the target service's process importance to be raised based on whether the activity is visible to the user. See BIND_ADJUST_WITH_ACTIVITY documentation for more details. |
QtAndroid::ExternalService | -2147483648 | The service being bound is an isolated, external service. See BIND_EXTERNAL_SERVICE documentation for more details. |
This enum was introduced or modified in Qt 5.10.
The BindFlags type is a typedef for QFlags<BindFlag>. It stores an OR combination of BindFlag values.
enum QtAndroid::PermissionResult
This enum is used to describe the permission status.
Constant | Value | Description |
---|---|---|
QtAndroid::Granted | 0 | The permission was granted. |
QtAndroid::Denied | 1 | The permission was denied. |
This enum was introduced or modified in Qt 5.10.
typedef QtAndroid::PermissionResultCallback
Synonym for std::function<void(const PermissionResultMap &)>.
typedef QtAndroid::PermissionResultMap
Synonym for QHash<QString, PermissionResult>.
typedef QtAndroid::Runnable
Synonym for std::function<void()>.
Variable Documentation
Static Variables
Function Documentation
QAndroidJniObject QtAndroid::androidActivity()
QAndroidJniObject QtAndroid::androidContext()
int QtAndroid::androidSdkVersion()
QAndroidJniObject QtAndroid::androidService()
bool QtAndroid::bindService(const QAndroidIntent &serviceIntent, const QAndroidServiceConnection &serviceConnection, QtAndroid::BindFlags flags = BindFlag::None)
QtAndroid::PermissionResult QtAndroid::checkPermission(const QString &permission)
void QtAndroid::hideSplashScreen()
void QtAndroid::hideSplashScreen(int duration)
void QtAndroid::requestPermissions(const QStringList &permissions, const QtAndroid::PermissionResultCallback &callbackFunc)
QtAndroid::PermissionResultMap QtAndroid::requestPermissionsSync(const QStringList &permissions, int timeoutMs = INT_MAX)
void QtAndroid::runOnAndroidThread(const QtAndroid::Runnable &runnable)
void QtAndroid::runOnAndroidThreadSync(const QtAndroid::Runnable &runnable, int timeoutMs = INT_MAX)
bool QtAndroid::shouldShowRequestPermissionRationale(const QString &permission)
void QtAndroid::startActivity(const QAndroidJniObject &intent, int receiverRequestCode, QAndroidActivityResultReceiver *resultReceiver = nullptr)
Starts the activity given by intent and provides the result asynchronously through the resultReceiver if this is non-null.
If resultReceiver is null, then the startActivity()
method in the androidActivity()
will be called. Otherwise startActivityForResult()
will be called.
The receiverRequestCode is a request code unique to the resultReceiver, and will be returned along with the result, making it possible to use the same receiver for more than one intent.
This function was introduced in Qt 5.3.
void QtAndroid::startIntentSender(const QAndroidJniObject &intentSender, int receiverRequestCode, QAndroidActivityResultReceiver *resultReceiver = nullptr)
Starts the activity given by intentSender and provides the result asynchronously through the resultReceiver if this is non-null.
If resultReceiver is null, then the startIntentSender()
method in the androidActivity()
will be called. Otherwise startIntentSenderForResult()
will be called.
The receiverRequestCode is a request code unique to the resultReceiver, and will be returned along with the result, making it possible to use the same receiver for more than one intent.
This function was introduced in Qt 5.3.