Wie öffne ich einen Dialog in einer neuen Aktivität aus einer Nichtaktivität? Ich habe einen Dienst, der einen Countdown-Timer ausführt, und wenn der Countdown-Timer abgelaufen ist, möchte ich, dass ein Dialog in der Hauptaktivität geöffnet wird. Ich kann das anscheinend nicht herausfinden. Ich habe normalerweise versucht, den Alarmdialog einzurichten, der nicht funktioniert hat, und ich habe versucht, Absichten mit Extras und Bündeln zu senden und immer noch kein Glück. Ich habe auf Google nach Hilfe gesucht und die Lösung aus this link ermüdet.So öffnen Sie einen Alarmdialog in einer anderen Aktivität
@Override
public void onFinish() {
Log.i(TAG, "Timer finished");
cdt.start();
showNotification();
addpoints();
savepref();
Intent intent = new Intent(BroadcastService.this, MainActivity.class);
Bundle bundle = new Bundle();
bundle.putInt("alert_icon_res_id", android.R.drawable.ic_dialog_info);
bundle.putString("alert_title", "Some Title");
bundle.putString("alert_message", "Some message");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
};
cdt.start();
}
Hauptaktivitätscode hier:
setContentView(R.layout.activity_main);
startService(new Intent(this, BroadcastService.class));
Log.i(TAG, "Started service");
Bundle b = getIntent().getExtras();
if (b != null && b.containsKey("alert_icon_res_id")) {
int icon = b.getInt("alert_icon_res_id");
String title = b.getString("alert_title");
String message = b.getString("alert_message");
new AlertDialog.Builder(this).setIcon(icon)
.setTitle(title).setMessage(message)
.setPositiveButton("Close", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}).create().show();
}
das funktioniert !! aber es öffnet sich immer wieder neue Aktivitäten. –