2

我知道这可能不是最佳做法,但这是我想做的。

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

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

我创建+调用一个新活动:


  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);

然后活动的主题是:

android:theme="@android:style/Theme.Translucent.NoTitleBar"

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

4

3 回答 3

5

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

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

于 2011-01-07T20:00:08.277 回答
0

不要使用 android:theme="@android:style/Theme.Translucent.NoTitleBar" 将 android:theme 保留为默认值。这对我有用

于 2012-06-07T04:42:00.500 回答
0

您现在已经问了 3 次同样的问题,但我们仍然没有足够的信息。你一直提到“原始活动”,但我们不知道那是什么,你是如何开始的,或者它去了哪里,以至于它“回来了”。

你可能是你可能没有完成你的“主要”活动,或者你有奇怪的标志,或者它正在监听相同的意图。

您也没有向我们展示有关您的广播接收器的任何信息。

于 2011-01-07T19:59:41.670 回答