[android] 短信的广播接收者
比较重要的一个广播事件,短信
界面布局,比如播放视频,默认是横屏全屏的,清单文件中进行设置,
在<activity/>节点设置屏幕朝向属性,android:screenOrientation=”landscape”
设置主题android:theme=”@android: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优先级最高
相关文章
- 吐槽 Android的WebView的pauseTimers方法神坑 webview加载卡住
- 【开源库推荐】#1 SpiderMan 可快速查看Android闪退崩溃日志
- Android Studio 下载jcenter依赖失败问题及解决
- Android开发过程中的坑及解决方法收录(7)
- Android开发——RecyclerView实现下载列表
- Android开发——实现子线程更新UI
- 星之小说下载器Android版
- Android开发——Toolbar常用设置
- Android开发——Kotlin开发APP使用笔记
- Android开发模版代码(4)——状态栏设置
- Kiosc for mac(远程控制应用)中文激活版
- 企业钟爱的小程序有何技术优势?
- 微信小程序入门
- 小程序-比较数字大小
- 小程序助力在线教育走出行业困境
- Android Material Design控件使用(四)——下拉刷新 SwipeRefreshLayout
- Android Material Design控件使用(三)——CardView 卡片布局和SnackBar使用
- Android开发过程中的坑及解决方法收录(六)
- IDEA插件(Android Studio插件)开发示例代码及bug解决
- Android Studio(IDEA)快速代码模版使用