我正在制作具有此闹钟功能的应用。我想要的是,当警报触发时,会出现一个对话框(在应用程序内部或外部)。我是android的新手。我试着阅读一些关于它的消息来源,我非常困惑。
顺便说一句,我已经完成了如何设置闹钟。
我没有设置闹钟等问题。我的问题是在闹钟触发时进行对话。
你能帮助我吗?
答案 0 :(得分:0)
当您的警报触发而不是调用活动时,您必须进行透明活动,并使对话框布局符合您的要求。 您可以使用AlarmManager和广播接收器来创建警报。
答案 1 :(得分:0)
使用对话框(http://developer.android.com/guide/topics/ui/dialogs.html)
替换以下代码中的Toastpublic void onReceive(Context context, Intent intent)
{
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "");
wl.acquire();
// Put here YOUR code.
Toast.makeText(context, "Alarm !!!!!!!!!!", Toast.LENGTH_LONG).show(); // For example
wl.release();
}
答案 2 :(得分:0)
以下是构建对话框的代码:
AlertDialog.Builder builder1 = new AlertDialog.Builder(context);
builder1.setMessage("Write your message here.");
builder1.setCancelable(true);
builder1.setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
builder1.setNegativeButton("No",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert11 = builder1.create();
alert11.show();
答案 3 :(得分:0)
我不确定这是否可行。您在哪里尝试制作/显示Dialog
?您是在BroadcastReceiver
上这样做的吗?
如果是这种情况,则可能无法使用,您可能希望从使用Dialogs
更改为Notifications
。发生这种情况是因为Dialogs
需要一个Activity
。
这是我尝试使用Dialog
方法从BroadcastReceiver
拍摄/创建onReceive()
时遇到的错误:
java.lang.RuntimeException:无法启动接收器 com.voxnet.autohop.helpers.AlarmReceiver: android.view.WindowManager $ BadTokenException:无法添加窗口- 令牌null无效;您的活动正在进行吗?