QAndroidBinder 类
封装 Android Binder 类最重要的方法。 更多...
头文件 | #include <QtCore/private/qandroidextras_p.h> |
qmake | QT += core-private |
自从 | Qt 6.2 |
状态 | 初步 |
此类正在开发中,可能会有所变化。
公共类型
枚举类型 | CallType { Normal, OneWay } |
公共函数
QAndroidBinder() | |
QAndroidBinder(const QJniObject &binder) | |
QJniObject | handle() const |
virtual bool | onTransact(int code, const QAndroidParcel &data, const QAndroidParcel &reply, QAndroidBinder::CallType flags) |
bool | transact(int code, const QAndroidParcel &data, QAndroidParcel *reply = nullptr, QAndroidBinder::CallType flags = CallType::Normal) const |
详细描述
QAndroidBinder 是一个便利类,它封装了最重要的 Android Binder 方法。
在用 CMake 构建时,使用以下命令来使用私有的 Qt Core API
find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::CorePrivate)
成员类型文档
enum class QAndroidBinder::CallType
此枚举与 QAndroidBinder::transact() 一起使用,用于描述 IPC 调用执行的模式。
常量 | 值 | 描述 |
---|---|---|
QAndroidBinder::CallType::Normal | 0 | 常规 IPC,意味着调用方等待被调用方的结果 |
QAndroidBinder::CallType::OneWay | 1 | 单向 IPC,意味着调用方立即返回,不等待被调用方的结果 |
成员函数文档
[显式]
QAndroidBinder::QAndroidBinder()
创建一个新的对象,可用于执行 IPC。
另请参阅 onTransact 和 transact。
QAndroidBinder::QAndroidBinder(const QJniObject &binder)
从 binder Java 对象创建一个新的对象。
另请参阅 transact。
QJniObject QAndroidBinder::handle() const
返回值对于调用本包装器没有涵盖的Java API非常有用
[虚拟]
bool QAndroidBinder::onTransact(int code, const QAndroidParcel &data, const QAndroidParcel &reply, QAndroidBinder::CallType flags)
默认实现是一个返回false的占位程序。用户应重写此方法以从调用者获取事务数据。
code 表示要执行的操作。 data 是调用者发送的序列化数据。
reply 是要发送给调用者的序列化数据。
flags 是额外的操作标志。
警告:此方法在Binder线程中被调用,与创建此对象的线程不同。
另请参阅 transact。
bool QAndroidBinder::transact(int code, const QAndroidParcel &data, QAndroidParcel *reply = nullptr, QAndroidBinder::CallType flags = CallType::Normal) const
执行IPC调用
code 表示要执行的操作。应该在 FIRST_CALL_TRANSACTION 和 LAST_CALL_TRANSACTION 之间。
data 是要发送到目标的数据。
reply(如果已指定)是来自目标的数据。如果你不感兴趣返回值,可以是 nullptr。
flags 是额外的操作标志。
成功时返回true
© 2024 Qt公司有限公司。此处包含的文档贡献归各自所有者所有。提供的文档受 GNU自由文档许可证版本1.3 的条款约束,由自由软件基金会发布。Qt及其相关标志是芬兰的Qt公司及其在全球的子公司和附属公司的注册商标。所有其他商标均为各自所有者的财产。