Android Studio学习记录-第四周
5.2.1动态注册监听网络变化
在onReceive方法中调用getActiveNetworkInfo()时,必须要在app/src/main/AndroidManifest.xml
里添加权限;
5.2.2
开机广播目前还没有实现。
5.3.1发送标准广播
点击按钮之后没有显示toast,
原因:由于《第一行代码》第二版是基于android7.0进行开发的,而android O(8.0)对 于发送广播进行了限制,我们要指定包名;
此处代码需要调整:
Intent intent = new Intent("com.example.boradcasttest.MY_BROADCAST"); intent.setComponent(new ComponentName("com.example.broadcasttest","com.example.broadcasttest.MyBroadcastReceiver")); sendBroadcast(intent);
调整后即可实现。
5.3.2发送有序广播
这里我们已经可以接受到广播了,但是我们想要让其他应用也接受到这条广播怎么办呢?
如果我们按照《第一行代码》中的代码会发现,broadtest2无法接受到广播
对此,我们需要再发送一条广播,并将这个intent指定为第二个app的package就好了,我们就都可以接收到了。代码如下
Intent intent = new Intent("com,example.broadcasttest.MY_BROADCAST"); intent.setComponent(new ComponentName("com.example.broadcasttest" ,"com.example.broadcasttest.MyBroadcastReceiver")); sendBroadcast(intent); intent.setComponent(new ComponentName("com.example.broadcasttest2" ,"com.example.broadcasttest2.AnotherBroadcastReceiver")); sendBroadcast(intent);
相关推荐
Nostalgiachild 2020-11-13
韩伟佳 2020-10-09
wuleihenbang 2020-09-16
zzqLivecn 2020-07-09
chenjinlong 2020-06-10
yinbaoshiguang 2020-06-09
sgafdsg 2020-06-04
ustcrding 2020-06-03
chenjinlong 2020-06-03
AndroidGA 2020-06-01
安辉 2020-05-27
绿豆饼 2020-05-26
CNETNews 2020-05-26
xilove0 2020-05-12
绿豆饼 2020-05-12
ChainDestiny 2020-05-07
doomvsjing 2020-05-07
hqulyc 2020-05-05
lyccsu 2020-04-30