Ram*_*ili 15 service android wakelock
在浏览Stackoverflow中的问题和答案后,我有点困惑WakefulIntentService
.我只想获得一些关于这个主题的知识,以确保我的理解是正确的,如果我错了,请随时纠正我.
我构建了一个小应用程序,我使用的背景Service
可以在用户摇动手机时继续播放音乐.我在设备锁定并且屏幕关闭后进行了测试,并且按预期工作.
我从这个论坛听到的消息,一旦设备进入睡眠状态,服务可能会关闭.真的吗?在我的情况下,它始终有效,我错过了什么?
有什么需要WakeFulIntentService
?我们什么时候需要使用WakefulIntentService
?
我尝试在a中运行一个计时器Service
,虽然设备已锁定,屏幕已关闭,我的计时器正在运行,我可以肯定地说.因为我曾经在计时器跳闸时收到通知.
Com*_*are 18
我从这个论坛听到的消息,一旦设备进入睡眠状态,服务可能会关闭.真的吗?
是.
就我而言,它始终有效
然后设备上的其他东西会让设备无法入睡.也许adb shell dumpsys power
用来看看什么WakeLocks
是杰出的.
WakeFulIntent服务需要什么?我们什么时候需要使用WakefulIntentService?
如果用户处于非活动状态并且没有任何东西让设备保持唤醒,设备可能会睡着.A WakeLock
用于确保设备保持清醒状态.对于事务型的工作(例如,下载的文件),WakefulIntentService
结合了IntentService
和WakeLock
使保持清醒的设备,只要有必要(和只只要需要)相对容易.
WakefulIntentService
不适合与需要无限期运行的服务一起使用,例如音乐播放器.对于那些,管理自己的WakeLock
.
Jas*_*ole 11
我在一个应用程序中使用了以下代码.
确保您的服务很粘:
@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
//this service will run until we stop it
return START_STICKY;
}
Run Code Online (Sandbox Code Playgroud)
我希望你的手机能够保持清醒,你可以使用下面的代码:
private WakeLock wl;
PowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE);
wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "whatever");
wl.acquire();
Run Code Online (Sandbox Code Playgroud)
不要忘记清单中的权限.
<uses-permission android:name="android.permission.WAKE_LOCK" />
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13109 次 |
最近记录: |