2

我想讓鬧鐘管理器設置一段時間來更改手機背景,但廣播接收器沒有做任何事情。你能告訴我爲什麼嗎?Android:我的鬧鐘管理器廣播接收器不工作

調度報警:

public void scheduleAlarm(Context context){ 
    Intent intent = new Intent(context, AlarmReceiver.class); 
    pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); 
    Calendar calendar = Calendar.getInstance(); 
    calendar.setTimeInMillis(System.currentTimeMillis()); 
    calendar.set(Calendar.HOUR_OF_DAY, 18); 
    calendar.set(Calendar.MINUTE, 34); 
    am = (AlarmManager)getSystemService(Context.ALARM_SERVICE); 
    am.setInexactRepeating(AlarmManager.RTC, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent); 
    Toast.makeText(context, "Alarm set", Toast.LENGTH_LONG).show(); 
} 

廣播接收器:

@Override 
    public void onReceive(Context context, Intent intent){ 
     PendingIntent sentPI = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); 
     GrilledCheeseLookup.getGrilledCheeseJSON(grilledCheeseUrls, context); 
     Toast.makeText(context, "Alarm worked", Toast.LENGTH_LONG).show(); 
    } 

啓用清單中:

<receiver android:name=".AlarmReceiver" android:enabled="true" /> 
+0

你有清單中正確位置的''元素嗎?即「」標籤之間,但不包含在其他任何內容中,如「」?你確定'name'屬性是指向正確的類,在正確的包?假設你使用'Toast'來確定Receiver是否在運行,你確定'onReceive()'中的某些東西在它顯示之前沒有失敗? –

+0

是的,它位於應用程序標籤內,但不包含任何其他標籤,如。我沒有任何軟件包中的AlarmReceiver,所以也應該沒問題。而且我相信它在展示之前並沒有失敗。 – DessertsAndStuff

+0

www.github.com/Akash14204 ..項目學生預算跟蹤。我已經使用了它。我可以從那裏拿到代碼 –

回答

0

嘗試創建你的意圖,同時也指定packageContext,使用意圖/ 4構造函數(可以將uri設置爲null)。