2 yus201120 yus201120 于 2016.01.22 16:54 提问

Activity被我finish掉之后还在接收广播

我在回调函数里面注册了一个广播,并在一个Activity里面去接收。当我关闭掉这个acitvity,然后再点击打开这个Activity时,当广播来了后会有两个地方在响应这个广播。我只想让最新打开的Activity响应这个广播

1个回答

u010492812
u010492812   2016.01.22 17:16
已采纳

Activity销毁的时候 把广播注销掉。。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Activity完成任务finish后发送广播更新fragment的bug
修改方法:在OnDestroy再发广播 @override public void onDestroy(){ super.onDestroy(); /**在此处发广播*/ //................ }
当我们finish掉app的Acticity后 进程还在么?
程序启动后,先执行Application.onCreate(),再执行Activity.onCreate()。如果没有生成自己的Application,那么系统会为你自动生成一个。退出程序时我们一般只调用finish()函数杀死当前Activity,Application退到幕后,由系统自动维护。再次启动程序时就不会执行Application.onCreate(),而是直接执行Activity.o
Android Finish后,最近运行列表中不显示Finish掉的Activity
最近有个一个需求,需要关闭Activity时,最近使用应用程序列表也需要清除掉不再显示,就找到了几篇文章,做个记录避免自己忘记。
android在一个activity中finish掉另外一个activity
public class ActivityManagerApplication extends Application { private static Map destoryMap = new HashMap<>(); private ActivityManagerApplication() { } /** * 添加到销毁队列 *
android 应用如何实现多个Activity在栈中finish掉
有一种应用场景是这样的,列如你的应用登录后会一直检测session 是否过期,类似QQ,如果过期或者失效,会提示你身份验证已过期,并自动重新跳转到你的登录QQ的页面,但此时你的activty或许已在栈中存在多个,那么这种情况下你按返回键就会返回到sessioid过期的那个场景。 A-B-C-D-E ,这个是你栈中的activity,比如A是登录页面,B是你的主页面,如果你在E页面遇到se
Android 用广播关闭Activity
多个Activity界面跳转,关掉某个Activity 1、广播关闭Activity 通过在AndroidManifest.xml文件中,对Activity进行静态过滤action注册; activity android:name=".activity.AActivity"> intent-filter> action androi
通过广播在当前Activity关闭其他Activity
/** * 发送广播关闭指定Activity */ public class BaseActivity extends Activity { //根据需求定义自己需要关闭页面的action public static final String RECEIVER_ACTION_FINISH_A = "action_a"; private FinishActivityRe
关于Activity调用finish却不立即执行onDestory的困惑
最近在做一个项目时,碰到一个bug:在当前activity中注册广播接收器,接收到广播时做一些业务逻辑,而把注销广播接收器的方法写在onDestory中,当前activity调用finish方法后,偶尔还能接收到广播,即广播接收器没有被立即注销。        经过查看项目代码,初步调查发现bug原因定位到:Activity调用finish却不立即执行onDestory方法,导致广播接收器没有被
当执行了finish()之后,该activity又执行了oncreate(),再finish()才退出。
考虑androidmainfest.xml中该activity的启动模式,如果是singleTop,考虑改为singeTask再试一下。
将所有的Activity全部finish掉
(1)创建一个ActivityCollector.java,此类用作收集和销毁activity的公共类.public class ActivityCollector { public static List activities = new ArrayList(); public static void addActivity(Activity activity