我正在用java编写一个android应用程序,其中包含一个stop watch counter来记录活动所花费的时间。活动完成后,用户应该停止计数器,以便记录计数器的读取。
我在onCreate上部署了部分唤醒锁获取,并在onDestroy上发布了部分唤醒锁。我还在清单文件中输入了所需的权限。
成功地获得了唤醒锁,但是当应用程序在后台中运行时发布,也就是说,它不再是active onResume。
当应用程序在后台中运行,屏幕被关闭时,所有最近的应用程序,包括这个应用,都会在一段时间后从最近的项目屏幕上删除。我是测试小米红米Note 7亲与MIUI 12.5.1。
欢迎提出建议。
用于部署唤醒锁的代码是:
Context context = getApplicationContext();
PowerManager pm = (PowerManager)context.getSystemService(Context.POWER_SERVICE);
final PowerManager.WakeLock wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "sachin:sachin");
wakeLock.acquire();
在清单文件中输入的权限:
uses-permission android:name="android.permission.WAKE_LOCK"
android:noHistory="false" android:excludeFromRecents="false"
发布于 2021-11-22 12:39:53
用外行的话来说,唤醒只是一种让应用程序在手机空闲时保持CPU/屏幕/其他东西保持清醒的方式,以便执行特定的后台任务。有些应用程序确实需要唤醒才能正常工作,但当一些应用程序反复持有唤醒锁、长时间保存它们而不丢弃它们、或者利用这些唤醒功能执行过多/不必要的网络和CPU任务时,问题就出现了。
这方面的例子是: Snapchat、Facebook、Messenger或其他社交媒体应用程序包括行为不端的觉醒。本教程只是一种防止这些唤醒再次发生而不卸载应用程序的方法。但是,如果您注意到该应用程序在使用此ADB命令后停止正常工作,则可以通过重新运行命令并将“忽略”更改为“允许”,或者只需卸载然后再重新安装应用程序,就可以将其更改回原来的状态。
https://stackoverflow.com/questions/70064268
复制相似问题