0

在我的应用程序中,用户启动它打开的服务,并且每 5 分钟调用一次。它工作正常。但是我想在每次调用服务时自动解锁(调用 WAKE_LOCK ),即每 5 分钟一次。我怎样才能做到这一点?

任何人请帮助我...

编辑1#

private void handleIntent(Intent intent) { // obtain the wake lock 
        PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE); 
        mWakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, NAME); 

        mWakeLock.acquire();
    }
4

1 回答 1

0

您必须为此使用 AlarmManager。

设置警报及其接收器:AlarmManager 调用的通知活动不会在应用程序关闭时弹出

然后您必须将您的服务转换为唤醒意图服务,然后WakefulIntentService.sendWakefulWork(context, YourService.class);在内部调用onReceive(context)

至少这是要走的路——最新的 android 平台似乎支持这种(某种)开箱即用:https ://developer.android.com/reference/android/support/v4/content/WakefulBroadcastReceiver.html

于 2013-11-07T09:04:45.160 回答