内部类广播接收者无法接收adb发送的广播

Lion1946 2018-01-26 09:54:08
如题,内部类广播接收者,通过代码的方式发送广播时,可以被接收到,但是在cmd中通过adb shell发送相同广播时,无法接收到,是什么问题?

MainActivity.java

public class MainActivity extends Activity {
private Button startBtn;
private Button stopBtn;
private ActivityReceiver activityReceiver;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
context = this;
//初始化控件
init();
//创建进程
inProcess();
startBtn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
Intent intent = new Intent(context, PGService.MsgReceiver.class); //此处发送广播可以被接收到
intent.setAction("com.pgauto.setupsensor");
sendBroadcast(intent);
state = 1;
if(state == 1){
editText.setText("Running");
}else if(state == 0 || !isServiceRunning(context, "com.pgauto.PGService")){
editText.setText("Stopped");
}
}
});

stopBtn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
Intent intent = new Intent(context, PGService.MsgReceiver.class); //此处发送广播可以被接收到
intent.setAction("com.pgauto.teardownsensor");
sendBroadcast(intent);
}
});
}

//初始化控件函数
private void init() {
startBtn=(Button)findViewById(R.id.openBtn);
stopBtn=(Button) findViewById(R.id.closeBtn);
}

//进程函数
private void inProcess(){
Intent intent =new Intent(MainActivity.this, PGService.class);
startService(intent);
}

@Override
protected void onStart() {
super.onStart();
}

protected void onResume() {
super.onResume();
}

public static class ActivityReceiver extends BroadcastReceiver { //该内部类广播接收者
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle=intent.getExtras();
String msg = intent.getAction();
}
}
}

AndroidManifest.xml文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.pgauto">

<application
android:name=".AndroidApplication"
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=".PGReceiver" >
<intent-filter>
<action android:name="com.pgauto.action" />
</intent-filter>
</receiver>
<receiver android:name=".MainActivity$ActivityReceiver" >
<intent-filter>
<action android:name="com.pgauto.activityreceiver" />
</intent-filter>
</receiver>
<service android:name=".PGService"></service>
</application>

</manifest>

CMD中发送广播不能被接收到:
adb shell am broadcast -a com.pgauto.setupsensor
adb shell am broadcast -a com.pgauto.teardownsensor
...全文
437 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
|--Activity不允许横竖屏切换 |--Activity常用小技巧 |--Activity按返回直接回到桌面 |--aidl之结合反射获取应用缓存大小等空间占用 |--aidl调用系统service未公开的方法挂电话 |--aidl调用系统未公开的方法代码示例2 |--android dp和px之间转换 |--android INSTALL_PARSE_FAILED_MANIFEST_MALFORMED |--android root下禁用组件 |--android 判断网络状态 |--android 对话框样式 |--android 开机启动 |--android 挪动dialog的位置 |--android 控制对话框位置 |--android 根据uri获取路径 |--android 模拟器错误 |--android 横竖屏切换 |--android 获取mac地址 |--android 获取sd卡状态 |--android 设置apn |--android 调节屏幕亮度 |--android 资源uri |--android 还原短信 |--android 重启 |--android中anim文件特效 |--app信息menifest获取(如版本号) |--AsyncQueryHandler之异步查询Cursor处理 |--AutoCompleteTextView自动提示的用法 |--BitMap、Drawable、inputStream及byte[] 互转 |--ContentProvider内容提供者定义 |--DatePicker日期控件 |--desktop |--Dialog之位置的挪动与控制 |--Dialog实现无标提栏及自定义风格 |--Dialog风格Activity的作法 |--ExpandableListView(下拉伸缩ListView) |--GridView表格布局的用法 |--httpclient超时 |--info体系 |--Intent启动应用apk安装 |--Intent常用功能 |--IO将输入流转成字节 |--Json读js资源文件 |--layout布局样式之style配置 |--listview 页面 图片加文字 |--ListView之CursorAdapter异步查询框架之短信 |--ListView之动态添加子view |--ListView优化之分页加载 |--ListView优化之动态加载 |--ListView优化之控制getView实现复杂显示 |--ListView优化之标准写法 |--listview老虎机 界面设计 水果机 |--listview页面跳转 数据库交互 事务 dao biz 层 |--Log的收集 |--Manager下的info |--Manager之ActivityManager进程管理 |--Manager之LocationManager |--Manager之PackageManager |--Menu之不同模式下显示不同菜单 |--openGL-ES上绘制文字 |--openGL-ES纹理贴图 |--openGL-ES获取帧率 |--openGL-ES雾化 |--PopupWindow的使用 |--PopupWindow的返回健关闭 |--RadioGroup的用法(里面的成员可以是任何view) |--SD卡之计算剩余空间 |--Spinner下拉菜单组件 |--SplashActivity |--StringUtils工具类的常用方法 |--TabHost一个界面显示多Activity |--TextView单行跑马灯效果 |--TextView虚拟获得焦点 |--uploadServlet |--uri之表示资源resource |--ViewPage的使用 |--view中的tag用法之存储对象 |--view常用属性 |--xml常用属性 |--xml文件的pull解析与序列化写入 |--xml的封装序列化 |--任务循环之只在Activity显示时执行 |--修改文件的最后修改时间 |--偏好设置(回显) |--内存优化之各种方法 |--内容提供者之短信的序列化对象读写 |--内容提供者之短信的获取与写入 |--内容提供者之联系人读写与批量操作 |--内容提供者之获取通话记录 |--内容提供者的定义 |--写入联系人信息 |--利用FinalHttp实现多线程断点续传 |--加密之MD5 |--动画Animation详解 |--动画之view左右抖动 |--动画之移动动画 |--动画之组合动画 |--动画之缩放动画ScaleAnimation |--反序列化对象 |--发送短信 读天气 调音量 |--回调函数的定义 |--图片之BitMap、Drawable、inputStream及byte[] 互转 |--图片之保存图片至SD卡 |--图片之删除40%最近没有被使用的 |--图片之的本地缓存至SD卡 |--图片之网络异步下载图片 |--图片之获取SD卡所有及边界可调及压缩和软引用和内存回收 |--图片的LRU算法内存保存和读取 |--图片的缩放处理(防内存溢出) |--多媒体应用设计图 |--多线程下载 |--多线程下载及断点续传 |--多线程之AsyncTask的用法 |--多线程之线程池ExecutorService |--字体为粗体 |--安卓下的多线程断点上传 |--对话框与进度条结合用法 |--屏幕之Activity全屏 |--屏幕之横竖屏切换 |--屏幕之调节屏幕亮度 |--屏幕相关之Display类获取屏幕尺寸和分辨率 |--屏幕适配之ScrollView |--屏幕适配之像素dp和px之间转换 |--工具类之Log的封装类 |--工具类之不同log打印的封装 |--工具类之开启新的Activity |--布局加载器的获取 |--广播接收之开机启动 |--广播接收之获取管理员权限 |--广播接收代码注册与卸载 |--广播接收常用广播的获取 |--应用之分享(隐式意图) |--应用之卸载(隐式意图) |--应用之安装(隐式意图) |--应用之完美退出 |--应用之获取名称和图标 |--应用之获得占用内存大小 |--应用之通过包名开启一个应用 |--应用之隐式意图开启设置界面 |--应用启动之检查版本更新及初始化 |--延时任务的工具类 |--异常之UncaughtExceptionHandler全局捕获处理 |--异步任务AsyncTask的用法 |--异步任务的自定义 |--快捷方式增删查 |--手势识别器GestureDetector的用法 |--拍照之调用系统相机并显示及保存 |--拨打电话 |--按健之长按menu事件屏蔽 |--按健监听按返回健回桌面 |--搜索之调用系统Searchable的用法 |--数据库CURD通过execSQL与rawQuery |--数据库SQLiteOpenHelper标准写法 |--数据库复杂多表查询 |--数据库查询之归属地 |--数据库直接CURD |--数据提交无需权限 |--文件之从服务器下载 |--文件之拷贝文件至某个目录 |--文件之指定编码读写文件 |--文件之释放Assets下的文件到应用的File目录 |--文件之随机存储RandomAccessFile |--文件使用时间排序 |--文件复制粘贴 |--文件路径之通过uri获取 |--时间java常用应用 |--时间之handle记时器 |--时间之time的用法得到特定时间的long值 |--时间之之定时任务TimerTask |--时间之倒计时CountDownTimer |--时间之当前时间动态显示 |--时间之自动任务ScheduledExecutorService |--时间之记时器 |--时间日期格式化 |--服务之判断是否处于运行状态 |--服务之定义录音机 |--服务之应用内绑定服务调用方法 |--服务之电话录音 |--服务之看门狗代码示例 |--格式化之DecimalFormat数字格式化 |--桌面快捷方式的添加代码示例 |--桌面控件widget的创建方法 |--模拟发短信 指定号码 短信窃听提示 |--消息机制 mesage looper |--滑动之左右滑动的两种定义 |--电话簿读取联系人信息 |--监听 |--监听之CheckBox是否选中监听 |--监听之EditText内容变化监听 |--监听之GridView条目点击监听 |--监听之ListView条目点击事件监听 |--监听之ListView滑动监听 |--监听之单击监听的两种定义 |--监听之双击监听 |--监听之电话状态监听 |--监听之触摸监听 |--短信之根据id删除及查询短信 |--短信发送小demo |--短信的截取 |--系统之SD卡清理 |--系统之获取所有开机启动应用 |--系统之重启实现 |--系统信息之获取SD卡内存信息 |--系统信息之获取动态内存RAM信息 |--系统信息之获取可用内存 |--系统信息之获得mac地址 |--系统信息之获得手机sim卡序列号 |--缓存优化之几种方案lastModified |--缓存优化之本地缓存优化(超过规定值或SD卡容量不够时) |--网络post提交查询请求 |--网络之HttpClient的get和post用法 |--网络之判断网络状态是否可用 |--网络之设置apn |--网络图片查看器 |--网络图片的下载与缓存 |--网络文件的下载与关联进度条 |--联系人之各种查找 |--联系人读写与批量操作 |--联系人读取 |--自定义shape形状颜色渐变资源 |--自定义Toast |--自定义view的属性 |--自定义下拉刷新ListView |--自定义动画资源 |--自定义常用小控件 |--自定义控件之小技巧 |--自定义控件风格和全局背景 |--自定义组合控件 |--自定义配置文件资源 |--自定义颜色状态选择资源 |--自定义颜色资源 |--获取网页的源码 |--读取外部资源的文件3种方式 |--读取手机内的短信 |--通信之Application实现应用全局通信 |--重启adb |--隐式转换 页面 |--震动效果的实现
Android高级编程《Android高级编程》有清华大学出版社出版,书中对Android做了简单介绍,并对创建应用程序,用户见面编程做了介绍。并对一些新功能。如:地图,P2P通信,蓝牙以及后台和用Android访问硬件,分章节做了介绍 [p=30, null, left]目录 图书信息内容简介作者简介图书目录 编辑本段图书信息  书 名: Android高级编程   作 者:梅尔(RetoMeier) 出版社: 清华大学出版社   出版时间: 2010年6月1日 ISBN: 9787302228448   开本: 16开   定价: 59.00元 编辑本段内容简介  《Android高级编程》首先简要介绍Android软件栈,接着陈述为手机创建稳定可靠、赏心悦目的应用程序的基本原理。通过学习,您可以打下牢固的理论根基,了解使用当前Android 1.0 SDK编写定制移动程序所需的知识,还能灵活快捷地运用未来的增强功能构建最前沿的解决方案。   Android提供一个开放的开发环境,为针对移动设备编写创新应用程序带来了激动人心的新机遇。作为使用AndroidSDK构建这些应用程序的实用指南书籍,《Android高级编程》从始至终穿插了一系列示例项目,每个项目都引入Android的新功能和新技术,以助您达到最圆满的学习效果。书中介绍Android的所有基本功能,并通过简明扼要的示例引导您使用高级功能。 编辑本段作者简介  作者:(英国)梅尔(Reto Meier) 译者:王鹏杰 霍建同   梅尔(Reto Meier),出生于澳大利西南的珀斯市,现居伦敦。   Reto是一位经验丰富的软件开发人员,拥有逾10年的GUI程序架构、设计和开发经验。他在涉足IT行业前曾从事过海洋石油和天然气开发以及金融工作。   Reto始终不渝地追求掌握新技术,从2007年Android发布之初Reto就迷恋上了此项技术。他利用业余时间研究包括WPF在内的多种开发平台以及Google的各种开发工具。 编辑本段图书目录  第1章 Android简介   1.1 一些背景信息   1.1.1 不远的过去   1.1.2 未来的前景   1.2 对Android的误解   1.3 开放的移动开发平台   1.4 自带的Android应用程序   1.5 Android SDK功能   1.5.1 对包括摄像头、GPS和加速计在内的硬件的访问   1.5.2 自带的Google地图、地理编码和基于位置的服务   1.5.3 后台服务   1.5.4 SQLite数据存储和检索数据库   1.5.5 共享数据和应用程序间通信   1.5.6 使用Google Talk的P2P服务   1.5.7 扩展的数据支持和2D/3D图形   1.5.8 优化的内存和进程管理   1.6 开放手机联盟简介   1.7 运行Android的环境   1.8 从事Android开发的原因   1.8.1 推动Android普及的因素   1.8.2 Android的独到之处   1.8.3 改变移动开发格局   1.9 开发框架简介   1.9.1 开发包中的资源   1.9.2 理解Android软件栈   1.9.3 Dalvik虚拟机   1.9.4 Android应用程序架构   1.9.5 Android库   1.9.6 高级Android库   1.10 小结   第2章 开始入手   2.1 Android开发   2.1.1 开始前的准备工作   2.1.2 创建第一个Android活动   2.1.3 Android应用程序的类型   2.2 面向移动设备的开发   2.2.1 关于硬件设计的考虑事项   2.2.2 考虑用户环境   2.2.3 Android开发   2.3 To-Do List示例   2.4 Android开发工具   2.4.1 Android模拟器   2.4.2 Dalvik调试监控服务(DDMS)   2.4.3 Android调试桥(ADB)   2.5 小结   第3章 创建应用程序和活动   3.1 Android应用程序的组成部分   3.2 程序清单简介   3.3 使用清单编辑器   3.4 Android应用程序生命周期   3.5 理解应用程序的优先级和进程状态   3.6 分离资源   3.6.1 创建资源   3.6.2 使用资源   3.6.3 To-DoList资源示例   3.6.4 为不同的语言和硬件创建资源   3.6.5 运行时配置更改   3.7 深入探讨Android活动   3.7.1 创建一个活动   3.7.2 活动生命周期   3.7.3 Android活动类   3.8 小结   第4章 创建用户界面   4.1 Android UI基本设计   4.2 View简介   4.2.1 使用View创建Activity(活动)用户界面   4.2.2 Android Widget工具箱   4.3 布局简介   4.4 创建新的View   4.4.1 修改现有的View   4.4.2 创建复合控件   4.4.3 创建定制的Widget和控件   4.4.4 使用定制的控件   4.5 创建和使用菜单   4.5.1 Android菜单系统简介   4.5.2 定义活动的菜单   4.5.3 动态更新菜单项   4.5.4 处理菜单选择   4.5.5 子菜单和上下文菜单   4.5.6 To-Do List示例续   4.6 小结   第5章 Intent、广播接收器、 Adapter和Internet   5.1 Intent简介   5.1.1 使用Intent来启动活动   5.1.2 使用Intent Filter来为隐式Intent提供服务   5.1.3 使用Intent Filter作为插件和扩展   5.1.4 使用Intent来广播事件   5.2 Adapter简介   5.2.1 Android提供的部分Adapter简介   5.2.2 使用Adapter绑定数据   5.3 使用Internet资源   5.3.1 连接到Internet资源   5.3.2 利用Internet资源   5.4 Dialog简介   5.4.1 Dialog类简介   5.4.2 使用活动作为对话框   5.5 创建一个地震查看器   5.6 小结   第6章 数据存储、检索和共享   6.1 Android中的数据保存技术   6.2 保存简单的应用程序数据   6.2.1 创建和保存preference   6.2.2 检索共享的preference   6.2.3 保存活动状态   6.2.4 为地震查看器创建一个Preference页   6.3 保存和载入文件   6.3.1 将静态文件作为资源添加   6.3.2 文件管理工具   6.4 Android中的数据库   6.4.1 SQLite简介   6.4.2 Cursor和内容值   6.4.3 使用Android数据库   6.5 内容提供器简介   6.5.1 使用内容提供器

80,337

社区成员

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

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