为什么在激活服务时它没有向我显示messageboxdialog。
@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();
}
});
}
Toast出现的声音正在播放只有showdialog没有出现,为什么?
答案 0 :(得分:3)
您需要致电builder.create()
来创建AlertDialog
,然后在对话框中创建show()
以显示它。
但是,如果这是一项服务,您将无法直接显示该对话框。请查看有关如何在服务中显示对话框的问题:Alert dialog from Android service
答案 1 :(得分:0)
您必须在构建器上调用create()
来创建一个AlertDialog,然后可以通过调用show()
来显示它。有关此主题的更多信息,请参阅the dialogues guide。