如何显示android的警报对话框

时间:2015-11-07 05:52:58

标签: android alarmmanager

我正在制作具有此闹钟功能的应用。我想要的是,当警报触发时,会出现一个对话框(在应用程序内部或外部)。我是android的新手。我试着阅读一些关于它的消息来源,我非常困惑。

顺便说一句,我已经完成了如何设置闹钟。

我没有设置闹钟等问题。我的问题是在闹钟触发时进行对话。

你能帮助我吗?

4 个答案:

答案 0 :(得分:0)

当您的警报触发而不是调用活动时,您必须进行透明活动,并使对话框布局符合您的要求。 您可以使用AlarmManager和广播接收器来创建警报。

答案 1 :(得分:0)

使用对话框(http://developer.android.com/guide/topics/ui/dialogs.html

替换以下代码中的Toast
public 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无效;您的活动正在进行吗?