Dlaczego nie wyświetla mi się okno dialogowe komunikatu, gdy usługa jest aktywowana.
@Override
public void onStart(Intent intent, int startid) {
Toast.makeText(this, "My Service Started", Toast.LENGTH_LONG).show();
Log.d(TAG, "onStart");
player.start();
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Are you sure you want to exit?")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
AlarmService.this.onDestroy();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
}
Pojawia się Toast, odtwarzany jest dźwięk, tylko okno dialogowe nie nadchodzi, dlaczego?
2 odpowiedzi
Musisz zadzwonić builder.create()
, aby utworzyć AlertDialog
, a następnie show()
w oknie dialogowym, aby je wyświetlić.
Jeśli jednak jest to usługa, nie będzie można bezpośrednio wyświetlić okna dialogowego. Spójrz na to pytanie, jak wyświetlić okno dialogowe z usługi: Okno dialogowe alertu z usługi Android
Musisz zadzwonić do create()
w Konstruktorze, aby utworzyć okno alertów, które można następnie wyświetlić za pomocą połączenia z show()
. Więcej informacji na ten temat znajdziesz w przewodniku po dialogach.
Podobne pytania
Powiązane pytania
Nowe pytania
android
Android to mobilny system operacyjny Google, używany do programowania lub tworzenia urządzeń cyfrowych (smartfony, tablety, samochody, telewizory, Wear, Glass, IoT). W przypadku tematów związanych z Androidem użyj tagów specyficznych dla Androida, takich jak android-intent, android-activity, android-adapter itp. W przypadku pytań innych niż programowanie lub programowanie, ale związanych ze strukturą Androida, użyj tego linku: https: // android.stackexchange.com.