[英]PendingIntent AlarmManager does not fire when the screen goes into sleep mode
[英]AlarmManager does not fire PendingIntent - Android
我已經創建了一個類來設置AlarmManager並通過BroadcastReceiver接收它,但是它不起作用。 我已經嘗試了不同的類型來設置de AlarmManager,但是沒有任何效果。 當然,如果我以其他方式調用它,BroadcastRecevier也可以正常工作。
public class AlarmBroadcastReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
if(intent==null)
{
Log.d("INFO", "Intent is null");
}
if(context==null)
{
Log.d("INFO", "Context is null");
}
if(intent!=null && context!=null)
{
Log.d("INFO", "AlarmManager fired...");
}
}
public static void startAlarm(Context context)
{
if(PendingIntent.getBroadcast(context, 0, new Intent(context, AlarmBroadcastReceiver.class), PendingIntent.FLAG_NO_CREATE)==null)
{
Log.d("INFO", "AlarmManager set...");
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, SystemClock.elapsedRealtime(), 10000, PendingIntent.getBroadcast(context, 0, new Intent(context, AlarmBroadcastReceiver.class), 0));
}
}
}
我希望你能幫幫我! 感謝:D
您正在使用RTC_WAKEUP
,但是您的時基表示為SystemClock.elapsedRealtime()
。 那些不匹配。 使用ELAPSED_REALTIME_WAKEUP
或更改事件的時間,使其基於System.currentTimeMillis()
或使用該事件的事物(例如, java.util.Calendar
)。
除此之外,請確認您的AlarmBroadcastReceiver
已在清單中注冊,然后查看是否有與問題相關的LogCat消息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.