比较重要的一个广播事件,短信
界面布局,比如播放视频,默认是横屏全屏的,清单文件中进行设置,
在<activity/>节点设置屏幕朝向属性,android:screenOrientation=”landscape”
设置主题android:theme=[email protected]:style/Theme.NoTitleBar.FullScreen”
设置清单文件
添加<Receiver/>节点,添加<intent-filter>节点
添加<action/>节点,设置关心的动作名称,
android:name=”android.provider.Telephony.SMS_RECEIVED
添加权限,android.permission.RECEIVE_SMS
新建一个SmsReceiver类继承BroadcastReceiver
在onReceive(Context context,Intent intent)方法中进行处理
调用Intent对象的getExtras()方法,拿到数据,得到Bundle对象
调用Bundle对象的get(key)方法,得到byte[],参数:key这里填 “pdus”,pdu是短信的数据格式,强转成Object[]数组
循环byte[]数组 for(Object pdu:pdus),
每一个循环里面调用SmsMessage类的createFromPdu(pdu),强转Object成 byte[],此时会得到SmsMessage对象
调用SmsMessage对象的getMessageBody()方法,得到短信内容
调用SmsMessage对象的getOriginatingAddress()方法,得到发件人
调用abortBroadcast()方法,直接终止掉这条广播
清单文件中intent-filter节点上,可以设置优先级属性,android:priority=”1000”
广播接收者的优先级,-1000优先级最低,1000优先级最高
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/5462.html