QtAndroidPrivate 名称空间提供辅助 Android 开发的杂项函数。 更多...
| 头: | #include <QtCore/private/qandroidextras_p.h> |
| qmake: | QT += core-private |
| Since: | Qt 6.2 |
| 状态: | Preliminary |
此命名空间在开发且可能改变。
(从 6.2 起)
枚举类
|
BindFlag { None, AutoCreate, DebugUnbind, NotForeground, AboveClient, …, ExternalService } |
| flags | BindFlags |
(从 6.2 起)
bool
|
bindService (const QAndroidIntent & serviceIntent , const QAndroidServiceConnection & serviceConnection , QtAndroidPrivate::BindFlags flags = BindFlag::None) |
(preliminary)
QFuture<QtAndroidPrivate::PermissionResult>
|
checkPermission (const QString & permission ) |
(preliminary)
QFuture<QtAndroidPrivate::PermissionResult>
|
requestPermission (const QString & permission ) |
(从 6.2 起)
void
|
startActivity (const QJniObject & intent , int receiverRequestCode , QAndroidActivityResultReceiver * resultReceiver = nullptr) |
(从 6.2 起)
void
|
startActivity (const QAndroidIntent & intent , int receiverRequestCode , QAndroidActivityResultReceiver * resultReceiver = nullptr) |
(从 6.2 起)
void
|
startActivity (const QJniObject & intent , int receiverRequestCode , std::function<void (int, int, const QJniObject &)> callbackFunc ) |
(从 6.2 起)
void
|
startIntentSender (const QJniObject & intentSender , int receiverRequestCode , QAndroidActivityResultReceiver * resultReceiver = nullptr) |
当采用 CMake 构建时,使用以下命令来使用私有 Qt Core API:
find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::CorePrivate)
[since 6.2]
enum class QtAndroidPrivate::
BindFlag
此枚举用于 QtAndroidPrivate::bindService 以描述履行绑定的模式。
| 常量 | 值 | 描述 |
|---|---|---|
QtAndroidPrivate::BindFlag::None
|
0x00000000
|
没有选项。 |
QtAndroidPrivate::BindFlag::AutoCreate
|
0x00000001
|
自动创建服务,只要绑定存在。见 BIND_AUTO_CREATE 文档编制了解更多细节。 |
QtAndroidPrivate::BindFlag::DebugUnbind
|
0x00000002
|
包括用于取消不匹配调用绑定的调试帮助。见 BIND_DEBUG_UNBIND 文档编制了解更多细节。 |
QtAndroidPrivate::BindFlag::NotForeground
|
0x00000004
|
Don't allow this binding to raise the target service's process to the foreground scheduling priority. See BIND_NOT_FOREGROUND 文档编制了解更多细节。 |
QtAndroidPrivate::BindFlag::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 文档编制了解更多细节。 |
QtAndroidPrivate::BindFlag::AllowOomManagement
|
0x00000010
|
Allow the process hosting the bound service to go through its normal memory management. See BIND_ALLOW_OOM_MANAGEMENT 文档编制了解更多细节。 |
QtAndroidPrivate::BindFlag::WaivePriority
|
0x00000020
|
Don't impact the scheduling or memory management priority of the target service's hosting process. See BIND_WAIVE_PRIORITY 文档编制了解更多细节。 |
QtAndroidPrivate::BindFlag::Important
|
0x00000040
|
This service is assigned a higher priority so that it is available to the client when needed. See BIND_IMPORTANT 文档编制了解更多细节。 |
QtAndroidPrivate::BindFlag::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 文档编制了解更多细节。 |
QtAndroidPrivate::BindFlag::ExternalService
|
-2147483648
|
The service being bound is an isolated, external service. See BIND_EXTERNAL_SERVICE 文档编制了解更多细节。 |
该枚举在 Qt 6.2 引入。
BindFlags 类型是 typedef 对于 QFlags <BindFlag>。它存储 BindFlag 值的 OR (或) 组合。
[since 6.2]
bool
QtAndroidPrivate::
bindService
(const
QAndroidIntent
&
serviceIntent
, const
QAndroidServiceConnection
&
serviceConnection
,
QtAndroidPrivate::BindFlags
flags
= BindFlag::None)
绑定服务给出通过 serviceIntent , serviceConnection and flags 。 serviceIntent 对象标识要连接的服务。 serviceConnection 是因启动和停止服务,接收信息的监听器。
返回 true 当成功时
见 Android documentation 文档编制了解更多细节。
该函数在 Qt 6.2 引入。
另请参阅 QAndroidIntent , QAndroidServiceConnection ,和 BindFlag .
[preliminary]
QFuture
<
QtAndroidPrivate::PermissionResult
> QtAndroidPrivate::
checkPermission
(const
QString
&
permission
)
此函数在开发且可能改变。
校验此进程是否拥有命名 permission 并返回 QFuture 表示校验结果。
该函数在 Qt 6.2 引入。
另请参阅 requestPermission ().
[preliminary]
QFuture
<
QtAndroidPrivate::PermissionResult
> QtAndroidPrivate::
requestPermission
(const
QString
&
permission
)
此函数在开发且可能改变。
请求 permission 并返回 QFuture 表示请求结果。
该函数在 Qt 6.2 引入。
另请参阅 checkPermission ().
[since 6.2]
void
QtAndroidPrivate::
startActivity
(const
QJniObject
&
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.
若
resultReceiver
为 null,那么
startActivity()
方法在
androidActivity()
将被调用。否则
startActivityForResult()
将被调用。
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.
该函数在 Qt 6.2 引入。
[since 6.2]
void
QtAndroidPrivate::
startActivity
(const
QAndroidIntent
&
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.
若
resultReceiver
为 null,那么
startActivity()
方法在
androidActivity()
将被调用。否则
startActivityForResult()
将被调用。
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.
该函数在 Qt 6.2 引入。
[since 6.2]
void
QtAndroidPrivate::
startActivity
(const
QJniObject
&
intent
,
int
receiverRequestCode
,
std::function
<
void
(
int
,
int
, const
QJniObject
&)>
callbackFunc
)
Starts the activity given by intent , using the request code receiverRequestCode , and provides the result by calling callbackFunc .
该函数在 Qt 6.2 引入。
[since 6.2]
void
QtAndroidPrivate::
startIntentSender
(const
QJniObject
&
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.
若
resultReceiver
为 null,那么
startIntentSender()
方法在
androidActivity()
将被调用。否则
startIntentSenderForResult()
将被调用。
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.
该函数在 Qt 6.2 引入。