3

管环境:Eclipse的
语言:爪哇(安卓)服务进入待机,当设备进入休眠状态 - 安卓

我也有点问题,这是我直到我测试我的应用程序进行的设备上没有意识到的。我一直认为即使手机在睡觉,服务也会持续在后台运行。我发现情况并非如此,所以,我的问题是,一旦您唤醒设备,服务是否会再次启动?如果不是,我将如何使服务重新启动。

我能每五分钟唤醒一次手机,只是为了运行我的服务,这将持续30秒到1分钟。然后让手机再次入睡?

在此先感谢。

编辑:我是非常新的Android编程,并会真正感谢,如果有人会告诉我如何使用WakefulIntentService。 我有一种服务,每隔一段时间都在搜索用户的GPS位置,当手机进入睡眠状态时,我希望我的服务仍然可以查找其位置。我将如何去使用WakefulIntentService来做这件事?我可以在这种情况下使用它。

谢谢。

+0

[Android睡眠/待机模式]可能的重复(http://stackoverflow.com/questions/5120185/android-sleep-standby-mode) – 2015-03-18 10:59:15

回答

-6

我用AlarmManager,我看着WakefulIntentService,这给了我一个想法做什么。 再次感谢大家的帮助。

9

你需要保持处理器lock,让您的服务运行

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); 
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "TAG"); 
wl.acquire(); 
// When you are done 
wl.release(); 

如果你的服务使用Wi-Fi,你需要另一种锁以及

WifiManager wm = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
wifiLock= wm.createWifiLock(WifiManager.WIFI_MODE_FULL, "TAG"); 
wifiLock.acquire(); 

// When you are done 
wifiLock.release(); 

记住要在添加android.permission.WAKE_LOCK您清单

+0

我忘记提及,我在Android开发中颇为小菜,因为你可能已经想通了,从我上面的问题,但你能否详细说明你的意思是'lock'。感谢您的快速回复... – user959631 2013-02-15 23:48:23

+1

上述方法会迅速杀死电池。 – 323go 2013-02-15 23:49:32

+1

问题是**没有关于电池**,如果你设计你的应用程序*正确*它不应该影响 – iTech 2013-02-15 23:52:21

3

我有一项服务即搜索g每隔一段时间用户的GPS位置,当手机进入睡眠状态时,我希望我的服务仍然在寻找他们的位置。我将如何去使用WakefulIntentService来做这件事?我可以在这种情况下使用它。

WakefulIntentService是不恰当的在这里,因为它只是用来确保设备苏醒的时间做一些工作一小段时间。它的设计目的不是让设备在不确定的时间内保持清醒状态,例如获取GPS定位所需的时间。

我有a LocationPoller project可以更好地处理您的情况。

我很新到Android编程

你正在尝试做的是不使用Android的经验水平,恕我直言,有人一个合适的项目。

+1

谢谢,我感谢您的帮助和意见。我想这不适合,但这就是我学习的方式。我为自己设定了一项任务。看看我能否完成这个任务。如果我一路卡住,我会通过搜索Google并在StackOverflow上提问。顺便说一下,我找到了另一种方法,我使用了'AlarmManager',我查看了'WakefulIntentService',这让我知道该怎么做。再次感谢你的帮助。 – user959631 2013-02-25 18:52:51

0

我不知道你的服务正在做什么,但如果它停机/上传数据到服务器,你可能要考虑使用Sync Adapter

除非您需要准确的时间,否则您的系统比AlarmManager的负担更小。

我你正在做别的事情,你可能想看看JobScheduler API

无论如何,如果你确实想坚持AlarmManager,只要知道不精确重复已经比精确重复好很多。

+0

感谢您的回复,但是,这个问题在两年前(我)问过,并且已经有了一个可以接受的答案(两年前) 请尽量避免重振旧线程,谢谢;) – user959631 2015-09-18 09:17:06

+2

其他人仍然会发现此主题寻找类似问题的答案。这就是我回答的原因。但除此之外,你是对的。 – LanderV 2015-09-22 14:40:06

相关问题