我正在开发一个应用程序。即使屏幕进入睡眠状态,这也应该运行。但这不会发生在我的应用程序中,如果屏幕进入睡眠状态,应用程序会自动完成。我用谷歌搜索了这个查询,但没有找到任何相关的。请有人建议如何实现这一目标。
问问题
1349 次
2 回答
1
不幸的是,当 Android 系统需要内存时,它会杀死应用程序。
在此处阅读有关 Android 应用程序的进程生命周期的信息,它给出了 Android 应用程序所处的各种状态,以及它可以在什么时候被销毁。
但是,您可以控制您的应用程序的重要性,以使其寿命更长。您可以通过实现Service
. 它提供了两个主要功能(来自文档):
- 应用程序在后台告诉系统它想要做的事情的工具(即使用户没有直接与应用程序交互)。这对应于对 Context.startService() 的调用,它要求系统为服务安排工作,直到服务或其他人明确停止它为止。
- 一种应用程序向其他应用程序公开其某些功能的工具。这对应于对 Context.bindService() 的调用,它允许与服务建立长期连接以便与之交互。
于 2013-11-12T10:55:47.363 回答
1
另一方面,您可以强制设备不休眠
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, getClass().getName());
wl.acquire();
确保使用权限
<uses-permission android:name="android.permission.WAKE_LOCK" />
完成后释放唤醒锁
wl.release();
于 2013-11-12T10:24:43.333 回答