从BroadcastReceiver启动AlertDialog时,在后台显示当前活动

时间:2012-09-06 21:44:56

标签: android broadcastreceiver alertdialog

我设置了半透明的AlertDialog,以显示用户是否收到短信。它是从广播接收器启动的。

只有当发件人将其设置为这样的消息时,用户才会获得此“紧急”类型的消息。

我有一个小问题,因为如果我的应用程序正在运行,我的背景是我的应用程序最后停止的。我得到背景以显示用户“正在做什么”的唯一方法是完全关闭我的应用程序。

有没有人使用半透明背景的AlertDialogs遇到类似的问题?

这是我开始活动的方式;

Intent i = new Intent(context, LayoutStartActivity.class);
i.putExtras(intent);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);

这是我的警告对话框的精简版

    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setView(holder);
    builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            dialog.cancel();
            finish();
        }
    });

由于

1 个答案:

答案 0 :(得分:1)

在AndroidManifest.xml中设置任务关联,以便它作为最近堆栈上的唯一进程运行。

实施例

<activity android:name=".LayoutStartActivity"
                    android:theme="@style/Theme.Light"
                    android:taskAffinity="com.example.standAlone">