2

Ich möchte, dass mein Alarmmanager für eine bestimmte Zeit eingestellt wird, um den Telefonhintergrund zu ändern, aber der Broadcast-Empfänger tut nichts. Kannst du mir helfen, mir zu sagen, warum?Android: Mein Broadcast-Empfänger für Alarmmanager funktioniert nicht

Scheduling Alarm:

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(); 
} 

Broadcast-Empfänger:

@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(); 
    } 

in manifest Enabling:

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

Haben Sie das '' Element an der richtigen Stelle im Manifest; zwischen den "" -Tags, aber nicht in irgendetwas anderem, wie einem ""? Sind Sie sicher, dass das 'name' Attribut auf die richtige Klasse im richtigen Paket verweist? Angenommen, Sie verwenden den 'Toast', um festzustellen, ob der Receiver läuft, sind Sie sicher, dass etwas in' onReceive() 'nicht fehlschlägt, bevor es angezeigt wird? –

+0

Ja, es befindet sich innerhalb des Anwendungs-Tags, aber außerhalb von anderen Tags wie . Ich habe den AlarmReceiver in keinem Paket, also sollte das auch in Ordnung sein. Und ich bin sicher, dass es nicht versagt, bevor es zeigt. – DessertsAndStuff

+0

www.github.com/Akash14204 .. das Projekt Student Budget Tracker. Ich habe es benutzt. U kann Code von dort nehmen –

Antwort

0

Versuchen Sie, Ihre Absichten zu schaffen, während auch die packageContext Angabe, mit der Absicht/4 Konstruktor (Sie können das uri auf null setzen).

Verwandte Themen