繁体   English   中英

Android从广播接收器启动活动

[英]Android launch an activity from a broadcast receiver

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

呼叫我的广播接收器时-启动一个不是全屏且背景透明的新活动-该活动将在当前活动/桌面墙纸的顶部打开。

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

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


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

然后该活动的主题是:

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

该活动的代码只是一个标准布局的简单活动。 但是,当该广播接收器开始活动时-它出现在上一个活动开始时,该活动是在应用程序启动时开始的.....如下图所示: 替代文字

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

基本上所有内容都与android:taskAffinityandroid:launchMode

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

您现在已经问过3次相同的问题,但我们仍然没有足够的信息。 您一直在提及“原始活动”,但是我们不知道它是什么,如何开始或在何处发生以至于它“重新出现”。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM