Ich versuche gerade, die Datumsauswahl und die Zeitauswahl einzurichten, um eine Benachrichtigung auszulösen, wenn die Zeit erreicht ist. Ich habe eine Methode in MainActivity erstellt und diese wird von AlarmReceiver aufgerufen. Jedes Mal, wenn der Timer den festgelegten Wert erreicht, stürzt die Anwendung ab und es werden keine Fehler in logcat angezeigt.AlarmReceiver & Notification Method verursacht Absturz?
Ich weiß, es ist etwas mit dieser Methode zu tun, die von AlarmReceiver aufgerufen wird, ich weiß nur nicht, was die Probleme sind. Diese Methode ist derzeit auch mit einer Schaltfläche verbunden, die beim Drücken (buttonStopAlarm) eine Benachrichtigung auslöst, wenn sie wie gewünscht gedrückt wird), so dass die Methode insgesamt funktioniert, sie funktioniert einfach nicht, wenn sie von einer anderen Klasse aufgerufen wird.
Jede Hilfe würde sehr geschätzt werden! Vielen Dank!
AlarmReceiver
package servicealarmdemo.test2;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
public class AlarmReceiver extends BroadcastReceiver {
MainActivity main = new MainActivity();
@Override
public void onReceive(Context arg0, Intent arg1) {
Toast.makeText(arg0, "Alarm received!", Toast.LENGTH_LONG).show();
main.addNotification();
}
}
Danke für die Antwort, ich habe das auf AlarmReceiver verschoben. Es gibt nur einen Fehler, der jetzt für getSystemService angezeigt wird. Die Methode 'getSystemService (java.lang.String)' kann nicht aufgelöst werden. – ZenoX
@ZenoX verwenden 'cxt.getSystemService..' –
Vielen Dank für Ihre Hilfe. Ich habe es gerade getestet und Benachrichtigungen werden jetzt ausgelöst, wenn die Zeit erreicht ist! Auch danke für die Erklärung über den MainActivity-Code, der eine Instanz ist, hat es wirklich geholfen, mein Verständnis! – ZenoX