【发布时间】:2018-10-22 16:36:31
【问题描述】:
我想每 15 秒获取一次位置,一切正常,但在打瞌睡模式(深度睡眠)下,我的处理程序无法正常工作,是吗? AlarmManager 是个好方法,但时间限制为 1 分钟,在打盹模式下不重复。
@ReactMethod
public static void setAlarm()
{
int interval = 50; // delay in secs
AlarmManager am = (AlarmManager) reactContext.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(reactContext, AlarmManagerReceiver.class);
PendingIntent pi = PendingIntent.getBroadcast(reactContext, 0, intent, 0);
am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), interval*1000 , pi);
}
接收者:
public class AlarmManagerReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
DoRoutine();
}
}
【问题讨论】:
-
您需要向我们展示您尝试过的内容,或者我们应该猜到您是如何编码的?
-
@Dragonthoughts 我添加了一些代码以获取更多信息
标签: android alarmmanager handler android-doze