移动屏幕进入睡眠状态时如何防止活动被破坏

时间:2013-11-12 10:22:05

标签: java android

我正在开发一款应用。这应该运行,即使屏幕进入睡眠状态。 但是我的应用程序没有发生这种情况,如果屏幕进入睡眠状态,应用程序会自动完成。 我为这个查询搜索,但没有找到任何相关的。请有人建议如何实现这一点。

2 个答案:

答案 0 :(得分: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();

答案 1 :(得分:1)

不幸的是,当Android系统需要内存时,它可以杀死应用程序。

请在此处阅读有关Android应用程序Process Life-cycle的信息,该应用程序会提供Android应用程序所处的各种状态,以及可以在何时销毁它。

但是,您可以控制应用程序的重要性,以便它可以延长使用寿命 您可以通过实施Service来实现此目的。它提供了两个主要功能(来自docs):

  • 应用程序的工具,用于告诉系统有关它的信息 想要在后台做(即使用户不是 直接与应用程序交互)。这对应于通话 到Context.startService(),它要求系统安排工作 服务,直到服务或其他人明确运行 停止它。
  • 应用程序的一个工具,用于公开其部分功能 其他应用。这对应于调用 Context.bindService(),它允许长期连接 为了与之互动而对服务做出了贡献。