从AlarmManager创建一个对话框?

时间:2012-04-22 17:03:05

标签: android

我已使用AlarmManager安排了一个闹钟,它会触发BroadcastReceiver。在广播接收器内部,我想调用一个Activity并创建一个弹出对话框。

这里重要的是我希望看到用户所在的背景,而不是首先将我的应用程序带到前面。看看下面的代码:

Intent intent = new Intent(context, AlarmActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(intent);

现在发生了什么,我不想要: 1.用户正在查看我的申请 2.用户按下主页,现在处于其他应用程序中 3.我的应用程序仍在后台运行 4.警报触发 - > BroadcastReceiver->以上意图开始 5.用户现在正在查看MY应用程序的最后一页和我的弹出对话框

我想要的是: 5.用户仍在查看他们所在的应用程序,但他们现在有弹出对话框。

如何在不将我的应用程序带到前面的情况下调用该活动?

1 个答案:

答案 0 :(得分:0)

Luksprog说的是真的,但是当时间对应于您的闹钟设置时,即使是默认闹钟也会显示AlertDialog。 您可以将此代码放入其他代码中,以执行警报启动时的操作:

    public void alertBtn1 (View v){
        new AlertDialog.Builder(this)
            .setTitle("AlertDialog")
            .setMessage(R.string.text OR "YOURTEXTHERE")
    // If you want to the user to have multiple options, you can replace this
            .setNeutralButton("YOURTEXTHERE", null)
    // with this:               
            .setNeutralButton("YOURTEXTHERE", null)
            .setPositiveButton("YOURTEXTHERE", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
    // finish(); or whatever you like to happen when the user clicks the button.
                    finish();
                    }
                })
            .show();

    }