广播接收者(BroadcastReceiver的应用)
2012-12-08 19:56
399 查看
发短息这一功能对于我们来说很容易,但是具体怎么实现的呢,现在我们可以利用BroadcastReceiver并实现输出发送者的电话号码,短信内容和发送时间对其进行类似监听效果。
首先,新建项目,相信初学者也会。而且这里不需要Activity,可以不用建Activity,但没有Activity时,它的包也隐藏了,所以可能会要重建包。
在这包里建类,如上图(让这个类继承BroadcastReceiver):这个类就是接收者
在AndroidManifest.xml中定义接收者(注意划线部分<U>,接收者名称和接收者类中必须一致):
完成所有步骤需要把项目部署到一个模拟器上,用另一模拟器对其发短信,发送成功时我们在控制台就能看见如下图的情况:
首先,新建项目,相信初学者也会。而且这里不需要Activity,可以不用建Activity,但没有Activity时,它的包也隐藏了,所以可能会要重建包。
在这包里建类,如上图(让这个类继承BroadcastReceiver):这个类就是接收者
public class SMSLisener extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Object[] pduses = (Object[]) intent.getExtras().get("pdus");// 获取短信 for (Object pdus : pduses) { byte[] pdusmessage = (byte[]) pdus; SmsMessage sms = SmsMessage.createFromPdu(pdusmessage);//短信 String mobile = sms.getOriginatingAddress();//电话号码 String content = sms.getMessageBody();//短信内容 Date date = new Date(sms.getTimestampMillis());//日期 SimpleDateFormat simpleDateFormat = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss"); String sendtime = simpleDateFormat.format(date); System.out.println("mobile:" + mobile +"\n"+ "内容:" + content +"\n"+ "发送时间:" + sendtime);//输出发送短信的手机号码,内容,时间 } } }
在AndroidManifest.xml中定义接收者(注意划线部分<U>,接收者名称和接收者类中必须一致):
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.smslisener" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" /> <application android:label="@string/app_name" android:icon="@drawable/ic_launcher" android:theme="@style/AppTheme"> <receiver android:name=".SMSLisener"> <intent-filter> <action android:name="android.provider.Telephony.SMS_RECEIVED"/> </intent-filter> </receiver> </application> <uses-permission android:name="android.permission.RECEIVE_SMS"/> </manifest>
完成所有步骤需要把项目部署到一个模拟器上,用另一模拟器对其发短信,发送成功时我们在控制台就能看见如下图的情况:
相关文章推荐
- Android学习笔记_19_广播接收者 BroadcastReceiver及其应用_窃听短信_拦截外拨电话
- android—广播接收者BroadcastReceiver的应用开发范例
- Android学习笔记_19_广播接收者 BroadcastReceiver及其应用_窃听短信_拦截外拨电话
- android 之 Broadcast(广播) BroadcastReceiver(广播接收者)
- BroadcastReceiver(广播接收者)
- BroadcastReceiver 广播接收者
- Android中的BroadCastReceiver(广播接收者)
- android 之 Broadcast(广播) BroadcastReceiver(广播接收者)
- android4大组件之BroadcastReceiver广播接收者
- Android基础(九) BroadcastReceiver 广播接收者
- Android开发22――广播接收者BroadcastReceiver的原理和注册
- Android基础——广播接收者BroadcastReceiver
- Android之BroadcastReceiver广播接收者
- Android四大组件之一:BroadcastReceiver(广播接收者)
- BroadcastReceiver广播接收者(一)——利用代码注册广播接收者
- 广播接收者BroadcastReceiver的使用
- BroadcastReceiver应用详解(广播的应用)
- 四大组件之BroadcastReceiver(广播接收者)
- android广播接收者BroadcastReceiver
- 创建广播接收者BroadcastReceiver