关于Android发送广播的问题

Peyton_ 2018-01-10 05:25:00
根据《Android第一行代码》学的
首先在MainActivty定义了发送的广播
public class MainActivity extends Activity {
//private IntentFilter intentFilter;
//private NetworkChangeReceiver networkChangeReceiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent();
intent.setAction("MY_BROADCAST");
sendBroadcast(intent);
}
});
}
}
然后新建Java Class广播接收器
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent){
Toast.makeText(context,"receive in MyBroadcastReceiver",Toast.LENGTH_SHORT).show();
}
}
然后再AndroidManifest中注册
<receiver android:name=".MyBroadcastReceiver"
android:exported="true">
<intent-filter>
<action android:name="MY_BROADCAST"/>
</intent-filter>
</receiver>

然后我就一直点Button啊可是没有反应啊,一点都没T^T查了些许方法加代码也是没有反应

点击系统推荐大佬
...全文
1136 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
z1258_yh 2021-07-14
  • 打赏
  • 举报
回复

还需要对发送广播的Intent调用setPackageName()方法指定接收广播的包名

dev晴天 2020-04-25
  • 打赏
  • 举报
回复
打log或者断点瞅瞅问题出现在哪里😂
神吐槽10086 2020-04-24
  • 打赏
  • 举报
回复
https://blog.csdn.net/guanmaoning/article/details/102769034 希望对你有帮助
Android小码家 2018-02-24
  • 打赏
  • 举报
回复
这个有时候会遇到 你先打个LOG看走没走。走的话用 Handler(Looper.getMainLooper()).post { } 一下
Smoyan_ 2018-01-15
  • 打赏
  • 举报
回复
我觉得1楼正解,有的手机是会禁用Toast弹出的,需要自己去开发者选项中打开,你可以先在onReceive下面打LOG看看
Jing丶無雙 2018-01-11
  • 打赏
  • 举报
回复
根据你提供的代码,我试了一下。是可以Toast出来的,我用的是小米手机和华为手机测试。建议你换个手机测测,或者是网上查下你所使用的手机是否存在广播发送或者Toast的一些内置权限限制
jklwan 2018-01-11
  • 打赏
  • 举报
回复
你debug下看看,是否走到onReceive了,没显示Toast可能是手机把权限禁用了

80,349

社区成员

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

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