常见的一些系统广播

打电话

 <intent-filter >
                <action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
                
 </intent-filter>

 <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>

接电话

<intent-filter >
        
                <action android:name="android.intent.action.PHONE_STATE"/>
 </intent-filter>

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

开机:有点问题

<intent-filter >  
                <action android:name="android.intent.action.BOOT_COMPLETED"/>  
                
  </intent-filter>  

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

安装包相关

 <intent-filter >
                <action android:name="android.intent.action.PACKAGE_ADDED"/>
                <action android:name="android.intent.action.PACKAGE_REMOVED"/>
                //注意这个是必须的
                <data android:scheme="package"/>
  </intent-filter>

<uses-permission android:name="android.permission.RESTART_PACKAGES"/>

接受短信 pdus是标准

 <intent-filter >
                <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>

<uses-permission android:name="android.permission.RECEIVE_SMS"/>
public class BootReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
    
        Object[] object = (Object[]) intent.getExtras().get("pdus");
        for (Object obj : object) {
            SmsMessage ss = SmsMessage.createFromPdu((byte[]) obj);
            String messageBody = ss.getMessageBody();
            String originatingAddress = ss.getDisplayOriginatingAddress();
            
            System.out.println(messageBody+":"+originatingAddress);
        }
        
    }

}

屏幕的锁屏和解锁:由于解锁等事件是发生的比较频繁的所以只可以使用代码进行注册

 receiver = new BootReceiver();
        IntentFilter filter = new IntentFilter();
        filter.addAction("android.intent.action.SCREEN_OFF");
        filter.addAction("android.intent.action.SCREEN_ON");
        
        registerReceiver(receiver, filter);


unregisterReceiver(receiver);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,523评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,252评论 4 61
  • 《这才是心里才》——第七章:“但是这不是真实的生活!” 术语卡 术语:基础研究 简介:主要目的为理论验证的研究通常...
    达达令的小粉丝阅读 361评论 0 1
  • 北漂笔记(三十) 2016年5月27日 与现实有关 昨天去银行办事,我在对公窗口,旁边的个人业务窗口有一个黑人大哥...
    千年萧萧阅读 184评论 0 0
  • 区块链 1.阿布扎比监管机构加入了R3 Blockchain联盟 阿布扎比全球市场(ADGM)是阿布扎比金融监管机...
    区块链趣事阅读 670评论 0 49