Android从广播接收器发起活动

Ren*_*ndy 2 android broadcastreceiver activity-stack taskaffinity

我知道这可能不是最好的做法,但这就是我想要做的.

当我的广播接收器被调用时 - 启动一个不是全屏并且具有透明背景的新活动 - 在您当前的活动/桌面壁纸之上打开.

我到目前为止的代码如下:

我用以下方法创建+调用新活动:


  Intent testActivityIntent = new Intent(context, com.andy.tabletsms.work.SMSPopup.class);
                testActivityIntent.putExtra("com.andy.tabletsms.message", main.msgs.get(i));
                testActivityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                testActivityIntent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
                context.startActivity(testActivityIntent);
Run Code Online (Sandbox Code Playgroud)

然后活动的主题是:

机器人:主题= "@安卓风格/ Theme.Translucent.NoTitleBar"

而活动的代码只是一个简单布局的沼泽标准活动.然而,当该广播接收器启动活动时 - 它出现在应用程序启动时启动的上一个活动的顶部.....根据此图像显示: 替代文字

Ric*_*ler 5

这与我在上一个问题中回答的问题有关:活动是从活动堆栈顶部打开的通知开始的

基本上它都是关于:android:taskAffinityandroid:launchMode