Android8.1.0版本发送标准广播接收不到 5C

在Android studio上开发,使用真机模拟,系统是Android8.1.0,在A程序上设置了一个Button,发送标准广播给B程序,应该会收到两条提示信息(“A收到广播”,”B收到广播”),但是只出现了A收到的信息。是按照Android第一行代码这本书5.3.2这节写的代码,但不知道为何不好使。
A程序代码
package="com.example.administrator.myreceiver">

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <receiver
        android:name=".MyBroadcastReceiver"
        android:enabled="true"
        android:exported="true">
        <intent-filter>
            <action android:name="com.example.broadcast.MY_BROADCAST"/>
        </intent-filter>
    </receiver>
</application>

public class MainActivity extends AppCompatActivity {

@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 v) {
            Intent intent=new Intent("com.example.broadcasttest.MY_BROADCAST");
            intent.setComponent(new ComponentName("com.example.administrator.myreceiver","com.example.administrator.myreceiver.MyBroadcastReceiver"));//高版本Android发送广播需要加这句
            sendBroadcast(intent);
        }
    });
}

}

public class MyBroadcastReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    // TODO: This method is called when the BroadcastReceiver is receiving
    // an Intent broadcast.
    //throw new UnsupportedOperationException("Not yet implemented");
    Toast.makeText(context, "received in MyBroadcastReceiver", Toast.LENGTH_SHORT).show();
}

}

B程序代码
public class AnotherBroadcastReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    // TODO: This method is called when the BroadcastReceiver is receiving
    // an Intent broadcast.
    //throw new UnsupportedOperationException("Not yet implemented");
    Toast.makeText(context, "received in AnotherBroadcastReceiver", Toast.LENGTH_SHORT).show();
}

}

package="com.example.administrator.brooadcasttest_2">

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <receiver
        android:name=".AnotherBroadcastReceiver"
        android:enabled="true"
        android:exported="true">
        <intent-filter>
            <action android:name="com.example.broadcast.MY_BROADCAST"/>
        </intent-filter>
    </receiver>
</application>

1个回答

intent.setComponent(new ComponentName("com.example.administrator.myreceiver","com.example.administrator.myreceiver.MyBroadcastReceiver"));//高版本Android发送广播需要加这句

这里你只指定了一个广播接受器,另一个是收不到吧...

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
安卓接收不到发送的广播
已经静态注册了广播 rn在第一个activity中通过广播发送一个时间信号rn在另一个activity中接收信号并显示在textview中rn[code=java]rnpublic void Sendtime(View view)rn //使用广播发送时间rn Intent intent=new Intent("android.sendtime");rn sendBroadcast(intent, String.valueOf(A));rn rn[/code]rn注册:rn[code=java]rnrn rn rnrn rn[/code]rn[code=java]rn public class TimeReceiver extends BroadcastReceiverrnrn @Overridern public void onReceive(Context context, Intent intent) rn timeshow.setText(intent.getAction());rn rn [/code]
发送并接收自定义广播(标准广播)
首先我们先静态注册一个广播接收器: 右击包名,在打开的快捷菜单中选择New–Other–Broadcast Receiver 然后输入名字,我这里输入的是MyReceiver,并勾选enable和exported enable表示是否启用 exported表示是否接收本程序以外的广播 接着就会得到一个类并继承BroadcastReceiver类,代码如下: public class MyRecei...
关于发送标准广播无法接收的问题
activity——main.xmlrnrnrnrn rnrnrnMainActivity.javarnpackage com.example.lazdex.bt;rnrnimport android.content.BroadcastReceiver;rnimport android.content.Context;rnimport android.content.Intent;rnimport android.content.IntentFilter;rnimport android.net.ConnectivityManager;rnimport android.net.NetworkInfo;rnimport android.support.v7.app.AppCompatActivity;rnimport android.os.Bundle;rnimport android.view.View;rnimport android.widget.Button;rnimport android.widget.Toast;rnrnpublic class MainActivity extends AppCompatActivity rnrn @Overridern protected void onCreate(Bundle savedInstanceState) rn super.onCreate(savedInstanceState);rn setContentView(R.layout.activity_main);rn Button button=(Button)findViewById(R.id.button);rn button.setOnClickListener(new View.OnClickListener() rn @Overridern public void onClick(View view) rn Intent intent=new Intent("com.example.broadcasttest.MY_BROADCAST");rn sendBroadcast(intent);rn rn );rn rnrnBR.javarnpackage com.example.lazdex.bt;rnrnimport android.content.BroadcastReceiver;rnimport android.content.Context;rnimport android.content.Intent;rnimport android.widget.Toast;rnrnpublic class BR extends BroadcastReceiver rnrn @Overridern public void onReceive(Context context, Intent intent) rn // TODO: This method is called when the BroadcastReceiver is receivingrn // an Intent broadcast.rn Toast.makeText(context,"Boot Complete",Toast.LENGTH_LONG).show();rn rnrnAndroidManifest.xmlrnrnrn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rnrnrnMBR.javarnpackage com.example.lazdex.bt;rnrnimport android.content.BroadcastReceiver;rnimport android.content.Context;rnimport android.content.Intent;rnimport android.widget.Toast;rnrnpublic class MBR extends BroadcastReceiver rnrn @Overridern public void onReceive(Context context, Intent intent) rn // TODO: This method is called when the BroadcastReceiver is receivingrn // an Intent broadcast.rn Toast.makeText(context,"received in MBR",Toast.LENGTH_SHORT).show();rn rnrn在仿真时始终无法接收到广播,没找到原因,求大神指点
手机短信广播接收不到
收到短信了,广播没有接到,是真机,广播优先级1000 10000都试过了没用,卸载了其他接受短信的程序就OK,肿么办???rn可以参考一下http://wenku.baidu.com/view/226f9dd5b14e852458fb57ba.htmlrn嗯还有就是表面是最大是1000,据说很多程序都设置10000,9999神马的、
发送自定义广播 之 标准广播
之前章节介绍了,如何接收广播。本章节介绍,如何发送自定义的广播,并接收到它。 本章节实现,在程序界面上,通过点击一个按钮发送出一条广播,程序的广播接收器同时接收到该条广播,并弹出接收到该条广播的提示信息。
广播接收不到
mreceiver = new MyReceiver();rn IntentFilter filter=new IntentFilter();rn filter.addAction("android.intent.action.PACKAGE_ADDED");rn filter.addDataScheme("package");rn getActivity().registerReceiver(mreceiver, filter);rnrnrnrn class MyReceiver extends BroadcastReceiverrn rnrn @Overridern public void onReceive(Context arg0, Intent arg1) rn // TODO Auto-generated method stubrn Log.i(TAG, "安装成功调用广播");rn initdata();rn madapter.notifyDataSetChanged();rn rn rn rnrn求解释
自定义广播发送和接收
1、静态注册 1)先在 MainActivity 里面 新建一个 含有action 的 intent 2) 在 intent 里面添加键值 、 数据。 3)发送广播 package com.example.lum.mydroadcast; import android.content.Intent; import android.support.v7.app.AppCompatA...
Android-广播发送接收
发送广播要定义一个action,在接收数据的地方也要用同一个action。String BROADCAST_ACTION ="com.M_xang.broadcast"; Intent intent = new Intent(BROADCAST_ACTION); intent.putExtra("DATA", "数据"); sendBroadcast(int
广播接收和发送
广播接收和发送,通过发送广播通信,可以跨进称
4-3发送标准广播
从基础开始学习,循环渐进,要求精通Google Android开发,熟练掌握移动应用程序开发,通过项目实战,提升动手能力,将所学知识整合运用到项目中。具体内容包括:Android系统四大组件(活动、服务、广播接收器、内容提供者)、丰富的系统控件、SQLite数据库以及Android应用开发特色之地理位置定位等。
Socket发送和接收广播
通过以下方法发送广播C#语言能够正常接收,JAVA也能正常接收,C++无法接收(C++接收C++可以正常接收),请各位大虾帮忙解决,小弟不胜感激,最好能提供C#发送广播C++接收的源码.谢谢!rn[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/7.gif][/img]
Android——发送和接收广播
一,发送广播 利用Intent来发送广播。 使用:在需要发送广播的地方创建一个Intent对象,将信息的内容和用于过滤的信息封装起来,通过以下三种方法将Intent广播出去: 1,Context.sendBroadcast 2,Context.sendOrderedBroadCast 3,Context.sendStickyBroadcast...
发送和接收广播
布局代码:&amp;lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;    xmlns:tools=&quot;http://schemas.android.com/tools&quot;    android:id=&quot;@+id/container&quot;    android:layout_width=&quot;match_parent&quot;...
android发送和接收广播
发送方 public static final String action = "jason.broadcast.action"; 发送 Intent intent = new Intent(action); intent.putExtra("data", "closeActivity"); sendBroadcast(intent); 接收方: //注册广播: I
发送和接收无序广播
发送广播: 1.在需要发送的地方设置意图动作,发送广播 Intent intent = new Intent(); intent.putExtra("data", "这是一条新的消息"); intent.setAction("com.skxy.unorder.MainActivity.FM"); sendBroadcast(intent);//发送广播,不需要在清单文件注册
关于8.0静态注册广播接收不到广播
在发送广播地方添加一下代码:intent.setComponent(new ComponentName(“清单文件中的package的值”,“广播接收者路径”))
发送自定义广播:跨进程通信、发送有序广播、发送标准广播、本地广播
发送标准广播 1.新建一个广播接收器MyBroadcastReceiver package com.example.broadcasttest; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.widget...
udp广播,接收不到数据??????
msdn上有一个udp广播的例子!rn大概这样rn发送广播: Dim addressa As IPAddress = IPAddress.Parse("224.0.0.1")rn Dim udp1 As New UdpClientrn udp1.Send(bytea, bytea.Length, ipport)rn udp1.Close()rn接收广播: Dim GroupAddress As IPAddress = IPAddress.Parse("224.0.0.1")rn Dim bytea() As Byte = udpa.Receive(ipport)rnrn我把代码运行后接收不到!!!rn我感觉是广播地址添的有问题!!rn如果我的ip是192.168.100.129到192.168.100.144,子网是255.255.255.240rn我的广播地址应该如何添呢???为什摸??rnrn最后10分
fragment为什么接收不到广播
要想fragment接收广播,需要在onStart中注册接收广播,在onStop中注销接收广播 @Override     public void onStart() {         super.onStart();         getActivity().registerReceiver(mLocationReceiver,                  new I
安卓开发广播接收不到的问题
通常我们知道,发送普通广播Intent对象都是只能带一个Action的,但是广播接收器却可以把很多Action添加到IntentFilter中去过滤自己需要接收到的广播,但是有一个小细节需要注意:有些广播是必须添加USBfilter.addDataScheme(&quot;file&quot;)的,比如说是SD卡插拔卸载广播,这样的广播接收器不能掺杂普通广播的Action,也不是说不能掺杂,如果掺杂了,那么普通广播就...
为什么接收不到广播ConnectivityManager.CONNECTIVITY_ACTION
在Manifest里增加如下代码:rn rn rn rn rn rn rnrnrnrnrnrn问题:操作菜单“设置-->无线和网络-->移动网络”,打开或者关闭移动网络,广播接收器都没有接收到广播ConnectivityManager.CONNECTIVITY_ACTION。rn 为什么会没收到广播呢?是不是某个地方设置出错了?请问各位大虾帮帮忙,谢谢!
Android8 接收不到自定义广播
Android8中使用静态注册的广播接收器接收自定义广播时,会发生接收不到自定义广播的问题这里,需要在Android7的代码基础上在发送广播的intent中加上这一句:ComponentName的第一个参数是自定义广播的包名,第二个参数是广播接收器的类...
发送标准广播和有序广播,以及广播的截断
发送标准广播需要定义一个广播接收器StandardBroadcastReceiver,来看代码:public class StandardBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TO
安卓 广播BroadCast(广播接收与发送)
1、静态注册广播 package com.sc.broad; import java.util.HashMap; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; /* 需在AndroidManifest.xml添加广播静态配置,...
Android发送和接收UDP广播
在Android平台上实现UDP广播的发送和接收
Android 进程间通信之发送和接收广播
//1. 发送广播 Intent intent = new Intent(&quot;PhoneState&quot;); intent.putExtra(&quot;nState&quot;, state); sendBroadcast(intent); //2. 接收广播 BroadcastReceiver mReceiverPhoneState = new BroadcastReceiver() { @Overri...
Cordova 发送接收外部广播
一、添加插件 新建Cordova项目 cordova create Hello com.xkw.hello 添加Android平台 在新建项目的根目录下,进入命令行,执行 cordova platform add android 添加广播插件 cordova plugin add cordova-plugin-broadcaster   二、修改Broadcaster插件文...
udp的广播发送和接收怎么做?
linux下udp的广播发送和接收怎么做?rnlinux新手求教
UDP广播包发送接收
C++socket网络编程大全实战http服务器(支持php)视频培训教程概况:本课程会同时演示在linux和windows中的编程,课程中的线程和正则表达式都使用c++提供库。本课程包含了socket网络编程常用的所有特性,包括tcp、udp协议的基础编程,广播包,超时连接,多路复用,高并发的epoll多路复用,多线程的服务端。课程讲解理论与实践相结合,实践以代码延时讲解为主。
有关广播发送和接收的问题
我这里一个广播的程序,发送地址设置的是INADDR_BROADCAST,而接收地址设置的依然是INADDR_BROADCAST,但是,就是在测试的时候发现,每广播发送一次,接收端能够接收到两次,在双网卡的机子上,每发送一次,能够接收四次,我搞不懂了,看上去好像是每块网卡能接收两次一样,那位大哥遇到过类此的情况呢。
SOCKET 广播包 接收发送
介绍网络编程中 SOCKET 广播包 接收发送
android 广播发送接收UDP
1、用来测试Android手机为啥接收不到UDP广播报文。
Android 广播接收 发送 demo
Android 广播接收 发送 Broadcast demo
关于系统发送的广播应用接收不到的问题
##问题解决记录 最近发现了一个问题,我们的APK只能够接收待机下去的广播,而接收不到待机起来的广播。这就很奇怪了,于是便找到了系统发送待机和待机起来广播的相关类。 frameworks\base\services\java\com\android\server\power\Notifier.java 从里面找到下面这段代码,可以看到对于开机和待机广播发送的代码其实是一样的。 mScreenOn...
如何实现UDP广播发送/接收(发送后立即接收)?
使用UDP协议,广播发送到所有地址,rnrn发送后,立即开始接收反馈地址!
接收不到PostMessage发送的自定义消息
我正在写一个C/S程序,在客户端的CSocket派生类的OnReceive函数中调用rn::PostMessage(AfxGetApp()->m_pMainWnd->m_hWnd, MESSAGE_MY, (WPARAM)&data, 0)rn函数给同一进程的窗口发送消息,可是程序执行不到自定义消息的响应函数。这个问题怎么解决?rnrn另外我在注意到PostMessage的返回值是1,证明消息发送成功;rn::GetLastError()返回值是0,证明没有错误发生。
解决高版本的android系统 接收不到广播的问题
最近在回看第一行代码时,做书上有关广播的例子时,发现高版本的android系统,对于广播的接收变得越来越严格,导致自己写的demo中收不到广播,看了官网上的一些介绍    附上链接 :https://developer.android.google.cn/about/versions/oreo/features/background-broadcasts具体的解决办法就是Intent intent...
接收不到CAN发送的数据
我使用RL78/F13 R5F10BLGKFB 进行CAN数据传输,CAN相关的代码是通过RS-CAN configurator生成的,将这些文件导入CS+工程中,并进行设置后,开始进行CAN 数据发送,但是发送不出去。rnrn通过调试,我发现数据写入到了相应的CAN 数据传输寄存器,但是进行发送请求后,相应的发送请求位一直为1[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/19.gif][/img],示波器也测不出波形,实在是找不出哪里出问题了。望各位大侠、大佬指点迷津、不吝赐教,不胜感激!!![img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/2.gif][/img]
android 8.0静态广播接收不到
原项目适配只适配到android7.0,公司没有android8.0的手机,一直没进行android8.0的适配, 今天用广播接收和发送消息的时候,用android8.0测试,结果死活接收不到消息,就想到了可能是8.0发送广播写法变了,于是度娘了下, /** * 其中ComponentName(参数1,参数2) * 参数1指的是你的app的包...
收到短信时候的广播接收不到。
http://topic.csdn.net/u/20120316/16/07007753-e199-4911-9733-877cb60e44a9.htmlrn有人遇到一样的问题吗。rn我试着用这个解决方案。http://blog.csdn.net/peijiangping1989/article/details/7368213rn但是这个监听数据库变化,在接受到短信的时候,别的程序读取了数据信息,他的change方法就会执行多次。当然我可以设置X秒内只能执行一次神马的。但是这毕竟不是很好的解决方案,求达人帮忙。
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池