在我的应用程序中,我使用了 Android NDK 和 JNI 方法。我正在使用单独的 AsyncTask 从 JAVA 调用我的 JNI 方法,这是一个耗时的任务,可能需要大约 50 秒。因此,当任务处于运行模式时,如果设备睡眠或自动锁定,我的 Activity 中的 AsyncTask 停止执行并且我当前的活动已完成。
请有人指导我应该在这种问题上做些什么。任何帮助或建议将不胜感激。
在我的应用程序中,我使用了 Android NDK 和 JNI 方法。我正在使用单独的 AsyncTask 从 JAVA 调用我的 JNI 方法,这是一个耗时的任务,可能需要大约 50 秒。因此,当任务处于运行模式时,如果设备睡眠或自动锁定,我的 Activity 中的 AsyncTask 停止执行并且我当前的活动已完成。
请有人指导我应该在这种问题上做些什么。任何帮助或建议将不胜感激。
在开始长任务之前使用它以防止在任务执行期间屏幕锁定。在 androidmanifest 中添加权限
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
在开始任务之前
KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Activity.KEYGUARD_SERVICE);
KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
lock.disableKeyguard();