Android数据通信开发与应用

Android数据通信开发与应用

接收不到广播:

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

   <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=".ImoocBroadcastReceiver">
        <!-- 接收什么广播-->
           <intent-filter>
               <!-- 开机广播-->
               <action android:name="android.intent.action.BOOT_COMPLETED"/>

               <action android:name="android.intent.action.BATTERY_LOW"/>

               <action android:name="android.intent.action.PACKAGE_INSTALL"/>

               <action android:name="android.intent.action.PACKAGE_REMOVED"/>
               <data android:scheme="package"/>
           </intent-filter>
       </receiver>
   </application>
</manifest>


package com.imooc.broadcast;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

public class ImoocBroadcastReceiver extends BroadcastReceiver {
   private static final String TAG = "ImoocBroadcastReceiver";
   @Override
   public void onReceive(Context context, Intent intent) {
       if(intent!=null){
           String action=intent.getAction();
           Log.d(TAG, "onReceive: "+action);
       }
   }
}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
提问者 慕桂英0005993 2019-03-08 11:59:44

intentFilter.addDataScheme("package");有这句话就接收不到电池低的广播。

  • 电池低的广播不能带Data匹配。应用的安装,卸载时监听可以使用。一般的如果某个监听器如果需要监听多个广播,就只添加action 就行了。
    2019-03-08 17:18:39
好帮手慕雪 2019-03-08 11:16:20

哪个广播收不到。没问题,可以收到的。你在手机上删除一个应用试试,也是可以收到的。

还是说,你没有加自定义的广播

<action android:name="com.imooc.demo.afdsabfdaslj"/>

在你的主方法中发送广播,接收不到呢。

祝:学习愉快

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Android数据通信开发与应用2018版
  • 参与学习           人
  • 提交作业       147    份
  • 解答问题       687    个

本专题介绍了Android开发核心组件:广播、服务及全局应用。教会你如何使用AIDL、Thread、Socket、蓝牙解决进程线程间通信问题。利用Glide等实现异步加载及NDK原生代码开发。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师