Qt for Android 开机自启
版本:Android 13、Qt 5.2.1
根据其他博客步骤,Android13 出现的问题:1、无效果;2、开机弹窗:该软件已停止运行;
Qt for Android13 开机自启
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
阿里嘎多学长 2025-04-07 16:17关注阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
Qt for Android13 开机自启
你遇到的问题是 Qt for Android13 开机自启不起作用,出现了两个问题:1、无效果;2、开机弹窗:该软件已停止运行。
解决方案:
- 检查 AndroidManifest.xml 文件中的
<receiver>元素是否正确。确保<receiver>元素的android:enabled属性设置为true,并且<receiver>元素的android:exported属性设置为true。 - 检查
AndroidManifest.xml文件中的<intent-filter>元素是否正确。确保<intent-filter>元素中的action属性设置为android.intent.action.BOOT_COMPLETED。 - 检查 Qt 代码中的
QAndroidJniObject对象是否正确。确保QAndroidJniObject对象的callObjectMethod方法正确地注册了BOOT_COMPLETED广播接收器。 - 检查 Android 13 的权限问题。确保你的应用程序在
AndroidManifest.xml文件中声明了android.permission.RECEIVE_BOOT_COMPLETED权限。
核心代码:
// AndroidManifest.xml <receiver android:name=".BootReceiver" android:enabled="true" android:exported="true"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver> // BootReceiver.cpp #include <QAndroidJniObject> #include <QAndroidJniEnvironment> class BootReceiver : public QObject { public: BootReceiver(QObject *parent = 0) : QObject(parent) {} void onBootCompleted() { QAndroidJniObject::callObjectMethod("com.example.MyApp", "onBootCompleted"); } };注意:上述代码只是一个示例,需要根据你的实际情况进行修改。
解决 无用评论 打赏 举报- 检查 AndroidManifest.xml 文件中的