如何在空闲时阻止Galaxy S3停止我的应用程序?

时间:2013-12-09 19:25:56

标签: android galaxy

我目前正在使用三星Galaxy S3更新我的Android应用程序,并感到震惊的是我无法停止手机暂停我的应用程序。使用我们部门的Galaxy S2不会出现这个特殊问题,如果屏幕变黑,应用程序仍会将数据流式传输到SD卡和wifi网络。 S3停止任何数据流。

我现在尝试摆弄能量和显示设置,但到目前为止我还没有解决问题的方法。我的互联网搜索也没有成功。

可能的解决方案是使新手机生根,从而使高级设置可见 或增加超时(我不喜欢解决方案)。

您是否有任何想法如何解决可能启发我的问题或一般性意见? 日Thnx!

BTW:这是有问题的应用(没有广告): Google Play Link

1 个答案:

答案 0 :(得分:2)

我有一个需要做类似事情的应用程序(它是一个正在运行的培训师,因此当用户将手机放在口袋里半小时左右时,它需要继续说话。)

首先,对于其他人阅读的警告:如果你不需要,这样做。如果你只需要定期而不是连续地做某事,可以考虑使用AlarmManager,它可以不时地将手机从睡眠中唤醒以做某事,所以不会如此努力地击打用户的电池。

但是,如果您确定需要保持手机清醒,则需要使用WakeLock。这大致是我在服务onStartCommand中所做的:

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);       
mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK;, "RunClockService");
mWakeLock.acquire();

...其中mWakeLockPowerManager.WakeLock类型的实例变量。 PARTIAL_WAKE_LOCK使CPU保持运行,但不会保持屏幕开启。根据文档,“RunClockService”标签仅用于调试。将其更改为您的班级名称。

然后,当我完成需要让手机保持清醒时:

mWakeLock.release();

您还需要向WAKE_LOCK添加AndroidManifest.xml权限:

    <uses-permission android:name="android.permission.WAKE_LOCK"/>