安卓的广播的使用 有点经验不要吝啬啊

_Ataraxia 2013-10-14 05:40:55
public class MyBroadcastReciver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
String str = intent.getStringExtra("author");
txtSecond.setText(str);
Toast.makeText(context, "这里是第2个界面的onReceive()", Toast.LENGTH_SHORT).show();
}

}

在activityA发送广播 ,怎么在activityB,C,D,E 接收他的数据
...全文
116 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
罗小辉 2013-10-15
  • 打赏
  • 举报
回复
用SharedPreference存储到本地,启动其他activity,直接去取不更好么
Birds2018 2013-10-15
  • 打赏
  • 举报
回复
在Activity里面注册一个广播,这样Activity里面就能收到其他地方发送的请求了。 MyReceiver myReceiver = new MyReceiver(); IntentFilter intentFilter = new IntentFilter(); intentFilter .addAction("myact"); registerReceiver(myReceiver, intentFilter ); class MyReceiver extends BroadcastReceiver { } 其他地方发送 Intent _intent = new Intent("myact"); _intent.putExtra("data", data);//数据 sendBroadcast(_intent);
深夜深几许 2013-10-15
  • 打赏
  • 举报
回复
如果每个activity钟都需要接收到这个广播,我在想会不会是你的设计有问题的?
tantahe 2013-10-14
  • 打赏
  • 举报
回复
activityA发送广播 ,说明activityA在前台,其他activity在后台,在后台的activity有可能已经被destroy了。所以不能用动态注册广播,只能用静态的。 把receiver定义在Manifest里就是静态注册了,intent filter的action跟activityA发送的intent的action一样。如果想在activityB,C,D,E接受广播,就要分别在他们内部定义一个内部类,继承BroadcastReceiver,并且分别在Manifest里注册。

80,362

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧