Broadcast在两个Activity之间的通信问题

现在我有两个Activity A和B,在A中有一个按钮,按下按钮会发送一条广播,B中有自定义的广播接收器,并进行了动态注册,我想知道是不是只有启动了B才能接受到广播还是无论B有没有启动都能接收到广播?

3个回答

因为广播是在Activity B中动态注册的,所以只有在启动了B的情况下,B才能接收到广播

u010029536
七夜style 回复杨柳依依-candy: 好的明白了 ,谢谢了 ,以前是学C++的,刚开始搞安卓开发
3 年多之前 回复
lp897225636
杨柳依依-candy 回复七夜style: 如果B是启动的情况,只要接收到广播立即就会处理的。如果想在B没启动的情况下也能立即处理,那就得注册静态广播了
3 年多之前 回复
u010029536
七夜style 那如果我想通过A发的广播,希望B立即就能处理,应该怎么做呢
3 年多之前 回复

搞清楚 动态注册和静态注册的区别就知道了:
两者及其接收广播的区别:

1.动态注册的广播永远要快于静态注册的广播,不管静态注册的优先级设置的多高,不管动态注册的优先级有多低>\

2.动态注册广播不是常驻型广播,也就是说广播跟随activity的生命周期。注意: 在activity结束前,移除广播接收器。

静态注册是常驻型,也就是说当应用程序关闭后,如果有信息广播来,程序也会被系统调用自动运行。

只有启动了才能接收广播

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
两个不相关Activity之间的通信
同一个应用内两个不相关的activity 例如A进入B,B进入C,C进入D 或者A进入B,C进入D,那么A和D可以看做两个不相关的activity. 假如有这样一个需求,在D activity中按一个按钮,A activiy必须立即更新数据,那么可以的方法有哪些呢,我能想到的有以下几种: 第一种方式: 1 广播 这个就不细说了,Android的基础,百度一下就知道。 2 回调 如果
Activity与Activity之间的通信
一、使用Intent     在 Android 中,不同的 Activity 实例可能运行在一个进程中,也可能运行在不同的进程中。因此我们需要一种特别的机制帮助我们在 Activity 之间传递消息。Android 中通过 Intent 对象来表示一条消息,一个 Intent 对象不仅包含有这个消息的目的地,还可以包含消息的内容。 只是打开另一个Activity,不传递数据:      
用broadcast在activity之间传递数据
用broadcast在两个activity之间传递数据,能保证application的UI保持不变,是当前activity的UI,接收数据的activity执行对应动作。
Activity篇之Activity之间通信
Activity之间的通信方式,暂时我能想到的有3种分别是:1.Intent方式,2.BroadcastReciver方式下面就用来代码来描述下 Intent方式一般分为2种:1.传统Intent请求方式2.通过startActivityForResult()+setResult()方式 针对传统的Intent请求方式,这里需要结合启动模式表现更佳. 第一种方式代码如
在同一个Activity下实现两个Fragment之间的通信
界面的架构为:一个Activity里面嵌套若干个Fragment,通过侧滑导航栏切换Activity中的Fragment。 为什么要把这篇文章单独拿出来而不放在开发笔记中呢,因为感觉这个比较难实现,其实也不是难实现,而是我在写的过程中尝试了几种方法,最终实现了我想要的功能,故在此记下,以免忘记。 那么我想实现的功能是什么? 我做的是一个翻译app(即将上线),其中想实现通信的是Transla...
安卓Activity之间的通信问题
主Activity是设置界面,程序要实现从主Activity有三个按钮,分别可进入三个不同的子Activity,这三个子Activity里都有一个文本输入框,当从子Activity返回时,希望得到回传回来的值。rnrn问题就是,如果是一个页面还好,三个页面Activity却不能简单的用putExtra()方法了。比如以下这种情况怎么办呢:rnrn从主页面点第一个BUTTON进入第一个子Activity设置文本,这时已经调用了this.finish()方法,当第一个子Activity设置完成后,调用startActivity()回到主页面;接着进入第二个子Activity设置,这时第一个页面的值不能丢失;然后是第三个子Activity,最后从第三个子Activity返回时,得到了三个子页面的设置值。rn如图rn[img=https://img-bbs.csdn.net/upload/201310/01/1380619132_257964.png][/img]rnrnrn怎么才能实现呢?我觉得由于Activity每次都是新NEW出来的,这个值又会被丢失了...有些混乱,还请大侠赐教。
两个Activity之间用接口回调进行通信
因为刚接触的一个项目是蓝牙连接,需求是要在扫描界面点击条目进行连接时,在跳转的另一个activity(姑且先叫它连接界面吧)上显示连接的过程,也就是弹出一个dialog,所以就需要用接口回调的方式实现它.但是我之前写接口回调没有在两个activity之间进行过接口回调,所以就自己想了下写了下面一段代码. 先定义一个接口:public interface ConnectionStateListener
Activity之间通信的一个问题
假设有两个Activity,A和B。首先用A启动B,比如:rnIntent intent = new Intent();rnintent.setClass(A.this, B.class);rnstartActivity(intent);rn然后要让B给A传递一些数据过来,该怎么解决?rn我用这个方法出现错误:(317): java.lang.NumberFormatException: unable to parse '' as integerrn[color=#FF0000]A中:[/color]rnIntent intent = new Intent();rnintent.setClass(BaiduMap.this, Interest.class);rnstartActivityForResult(intent, 0);rnrn[color=#FF0000]B中:[/color]rnIntent intent = new Intent();rnBundle bundle = new Bundle();rnbundle.putString("keywords", keywords.getText().toString());//从EditText中取数据rnbundle.putInt("range", Integer.parseInt(range.getText().toString()));//从EditText中取数据rnintent.putExtras(bundle);rnintent.setClass(Interest.this, BaiduMap.class);rnInterest.this.setResult(RESULT_OK,intent);rnInterest.this.finish();rn求高手解答。
Service与Activity之间通信的问题
Service如何向启动他的Activity传递数据?rn比如说,一个Activity启动一个Service播放音乐,那这个Service如何将一些播放数据(播放到得位置等)传递给这个Activity来更新进度条等控件?
Activity之间的通信方式
Parent 常用的通信方式如下 1.Intent 在startActivity()或者startActivityForResult()时,通过Intent携带需要的信息,但要注意,intent对携带写信的大小有限制 2.Broadcast或者LocalBroadcast 在A中发出广播,在B中接收广播并解析其中数据 3.用数据存储的方式 理论上凡是数据存储的方式,我们均能在A存储信息,并在B读取...
Fragment与Activity之间的通信
写在前面:Demo场景 一个Activity中含有两个Fragment(左下角的在代码中命名为Fragment1,右下角的在代码中命名为Fragment2),Activity中的状态栏用于显示Fragments的颜色色码值,Activity中的EditText和Button为一组用来更改Fragment1的颜色。类似的Fragment1可以更改Fragment2的颜色。Fragment1的状态栏...
Activity 与 Service 之间的通信
一,通过Binder对象 在Service的onBind中返回Service实例 MyBinder mBinder = new MyBinder();   @Override public IBinder onBind(Intent intent) { return mBinder; } class MyBinder extends Binder
Activity之间通信
1.Intent / Bundle Bundle 携带到意图中传递 (优点:多次传递数据方便) Intent 意图: 两种启动意图的方法 startActivity(Intent) 直接跳转 startActivityForResult(intent,请求码) 回调数据跳转 onActivityResult (int requestCode, int resultCode, Intent dat...
service和activity之间的通信
public class MainService extends Service{ private String TAG = "MainService"; public ServiceBinder mBinder = new ServiceBinder(); /* 数据通信的桥梁 */ /* 重写Binder的onBind函数,返回派生类 */ @Overrid
Activity与service 之间的通信
三种方式 Bi http://www.tuicool.com/articles/3AVrAz
Activity与Fragment之间的通信
Activity与Fragment之间的通信分为两种,一种是Activty向Fragement传递数据,一种是Fragment向Activity传递数据; (1)Activty向Fragement传递数据:             在Activity中创建Bundle数据包,并实例化一个Fragement,再调用Fragment中的setArfuments(Bundle bundl
fragment与activity之间的通信
fragment相当于一个activity,但又不能单独运行,作为一个单独的模块,调用时直接调用模块即可,对于fragment与activity之间的通信,最重要的是要注意使用包之间的统一,以免发生错误。 下面来看一下例子:  定义xml布局时要注意的一个问题是fragment布局必须设置id,否则会有解析fragment报错(具体原因不知道) <RelativeLayout xmlns:a
Fragment和Activity之间的通信
在Activity中调用Fragment中的方法:         LeftFragment leftFragment = (LeftFragment)getSupportFragmentManager().findFragmentById(R.id.left_fragment)         我们调用FragmentManager的findFragmentById()方法,就可以在我
Activity之间实时通信
要求:两个Activity ,A和B:在A中启动B,B中的消息要实时传递给A 开发winform的时候多幸福,在Form中声明一个Public属性或方法,直接调用就好了, Android中却没这么简单,这Activity封装的太严实了,根本找不到入口! 查了很多资料,总结下Activity之间的交互,下大致有下面几种办法: 1.startActivityForResult,缺点:只能在返...
Activity 之间的通信
Activity通过startActivity启动另一个Activity,并同过Intent显示或隐式的方式指定将启动的Activity,Intent创建的的两个参数一个是启动活动的上下文,一个是要启动的活动。然后就能启动特定的Acitivity。如果只有一个参数,action和category匹配即可启动另一个Acitivity。Activity要想将信息返回,可通过startActivityF
activity和activty之间的通信
Android activity与activity通信
service与activity之间的通信
实现service与activity之间的通信功能,一个小demo。
Fragmen和Activity之间的通信
Fragmen和Activity之间的通信Demo!配合博客使用!
activity之间的通信
Lesson11-Graphics013-ActivityCommunication
多个Activity之间的通信
第一步:新建一个继承Activity的类,如:NewActivity public class NewActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceStat...
Activity之间通信----皮毛
创建activity问题:activity之间的通信1、R文件的导包问题 在Java文件中使用R.layout或id时找不到对应的id号时,可能是因为Import android.app.R的原因,这时只要将android.app.R改为你的gen目录下完整的包名就可以了。2、Android中activity文件的配置问题 配置启动的Activity,给予activity权限。3、activi
Activity之间的通信
Activity之间的通信方式有两种,startActivity,startActivityForResult(); 其中,startActivity()仅仅是跳转到目标界面,并且如果一个主Activity跳转到多个子Activity,数据的携带与传递,要用 startActivityForResult(). 主要用到三个方法:startActivityForResult(),onActiv
Fragment与activity之间的通信
Fragment与activity的两种通信方式 Fragment与activity之间有多种通信方式,今天我们主要说两种通信方式,直接在一个activity传值给Fragment的方法和Fragment直接调用Activity中的public方法 Fragment直接调用Activity中的public方法 activity传值给fragment,在这其中我们首先得使用Bundle方法,首...
fragment和activity之间通信
自己写的activity和fragment 之间通讯 小demo ~~ 希望能帮到大家
Activity与Service之间通信
Service的启动,Activity与Service之间数据传递,Binder利用bindService实现Service传递数据给Activity,Activity的成员Broadcast实现Service传递数据给Activity
Service和Activity之间的通信
在Android中,Activity主要负责前台页面的展示,Service主要负责需要长期运行的任务,所以在我们实际开发中,就会通常遇到Activity与Service之间的通信,我们一般在Activity中启动后台Service,通过Intent来启动,Intent中我们可以传递数据给Service,但是我们Service执行某些操作之后想要更新UI线程,我们可以通过以下方法。通过binder对象
关于Activity之间的通信
关于activity之间的通信
service和Activity之间的通信
bundle 广播 或是用三方框架:EventBus!
Anrdoid的Activity之间的通信
主要使用Intent进行通信 Intent i = new Intent(父.this,子.class); startActivity(i);就可以传递到子activity Intent数据传递: 父通过Intent i = 子.newIntent(父.this,数据); startActivity(i);传给子 子Intent i = new Intent(传过来的a
两个Activity之间切换的问题。
rn第一个Activityrn[code=Java]rnpackage richy.activity;rnrnimport android.app.Activity;rnimport android.content.Intent;rnimport android.os.Bundle;rnimport android.view.View;rnimport android.widget.Button;rnrnpublic class Activity_02Activity extends Activity rn /** Called when the activity is first created. */rn private Button myButton = null;rn @Overridern rn public void onCreate(Bundle savedInstanceState) rn super.onCreate(savedInstanceState);rn setContentView(R.layout.main);rn myButton = (Button)findViewById(R.id.myButton);rn myButton.setText("第二个Activity");rn myButton.setOnClickListener(new MyButtonListener());rn rn rn class MyButtonListener implements android.view.View.OnClickListenerrnrn @Overridern public void onClick(View v) rn // TODO Auto-generated method stubrn Intent intent = new Intent();rn intent.setClass(Activity_02Activity.this, OtherActivity.class);rn Activity_02Activity.this.startActivity(intent);rn rn rn rnrn[/code]rnrn第二个Activityrn[code=Java]rnpackage richy.activity;rnrnimport android.app.Activity;rnimport android.os.Bundle;rnimport android.widget.TextView;rnrnpublic class OtherActivity extends Activityrn private TextView myTextView = null;rn @Overridern protected void onCreate(Bundle savedInstanceState) rn // TODO Auto-generated method stubrn super.onCreate(savedInstanceState);rn setContentView(R.string.other);rn myTextView = (TextView)findViewById(R.id.mytextView);rn myTextView.setText(R.string.app_name);rn rnrnrn[/code]rnrn在AndroidManifest.xml中已经注册了第二个Activity。rn点击Button之后,程序就错误停止了。
两个Activity之间传值问题
小弟的程序现需要实现从A画面点击一个按钮迁移至B画面,在B画面点击【back】重新按钮返回A画面,现要求当[color=#FF0000]画面B-->画面A[/color]的时候,A画面入力值能够保存不清空,该如何实现?在点击B画面的【back】按钮时,应怎么处理?
两个Activity之间跳转问题?
大家好,我有两个Activity,我希望从Acitivty1启动Activity2以后,再从Activity2跳到Activity1时,不要重新执行Activity1的onCreate方法,同时下次从Activity1跳到Activity2的,2也不重新执行onCreate方法。也就是两个Activity都只执行一次初始化的操作,以后相互跳转时,不要再初始化化了。
两个Activity之间传值
修改 acticity_main.xml,用来显示一个输入数据的画面,其代码如下:           xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:ori
两个Activity之间的切换动画
实现两个界面的跳转overridePendingTransition(R.anim.trans_in, R.anim.trans_out); 需要在res文件夹里创建anim动画文件夹 在该文件夹内创建相应的退出和进入的动画,这里以水平划入和水平退出为例 创建XML文件trans_in和trans_out,root element选择translate <translate xm
两个Activity之间的观察者模式
需求是在闪屏页面启动定位功能,在MainActivity中更改位置信息。如果定位功能在MainActivity生成之前完成。则在MainActivity初始化时就有位置信息。若由于网络原因等在MainActivity生成之后才完成定位,这时候需要通知MainActivity改变定位信息。就涉及到了观察者模式。 最初我的想法是将闪屏页面设为具体通知者,将MainActivity设为具体观察者。结果
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件