BroadcastReceiver 接收系统短信广播
2013-07-15 11:26
183 查看
BroadcastReceiver 接收系统短信广播
/* 注册广播:
* |--静态注册 (在AndroidManifest .xml 中注册)
* <receiver android:name=".MyBroadcastRecevier" >
<intent-filter>
<action android:name="com.example.broadcasttest" />
</intent-filter>
</receiver>
* |--动态注册:
* //动态注册广播
BroadcastReceiver receiver = new MyBroadcastRecevier();
//创建IntentFilter 意图过滤器
IntentFilter filter = new IntentFilter();
//注册广播
registerReceiver(receiver, filter);
*/
/* 注册广播:
* |--静态注册 (在AndroidManifest .xml 中注册)
* <receiver android:name=".MyBroadcastRecevier" >
<intent-filter>
<action android:name="com.example.broadcasttest" />
</intent-filter>
</receiver>
* |--动态注册:
* //动态注册广播
BroadcastReceiver receiver = new MyBroadcastRecevier();
//创建IntentFilter 意图过滤器
IntentFilter filter = new IntentFilter();
//注册广播
registerReceiver(receiver, filter);
*/
package com.app.broadcaststest; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.telephony.gsm.SmsMessage; import android.widget.EditText; import android.widget.Toast; public class RecevierSMSActivity extends Activity { BroadcastReceiver mBroadcastReceiver; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); // 设置布局 setContentView(R.layout.activity_resms); } @Override protected void onStart() { // 注册广播 super.onStart(); mBroadcastReceiver = new ReceiverSms(); IntentFilter mfFilter = new IntentFilter(); mfFilter.addAction("android.provider.Telephony.SMS_RECEIVED"); registerReceiver(mBroadcastReceiver, mfFilter); } @Override protected void onStop() { // 取消广播 super.onStop(); unregisterReceiver(mBroadcastReceiver); } private final class ReceiverSms extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // 处理接收短信 if(intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")){ Toast.makeText(context, "接收到短信", Toast.LENGTH_SHORT).show(); Bundle bundle = intent.getExtras(); if(bundle!=null){ Object[] SmsData = (Object[]) bundle.get("pdus"); SmsMessage sd[] = new SmsMessage[SmsData.length]; for (int i = 0; i < SmsData.length; i++) { sd[i] = SmsMessage.createFromPdu((byte[]) SmsData[i]); EditText editText3 = (EditText)findViewById(R.id.editText3); EditText editText4 =(EditText) findViewById(R.id.editText4); editText4.setText(sd[0].getDisplayOriginatingAddress().toString());//短信号码 editText3.setText(sd[0].getDisplayMessageBody().toString());//短信内容 } } } } } }
相关文章推荐
- 安卓短信功能全解:调用系统短信功能发送短信、彩信,使用SmsManager发送短信,并监听发送短信的投递情况,使用广播接收器监听接收的短信。
- 系统广播详解之接收短信
- BroadcastReceiver 接收系统短信广播
- android 使用广播 接收和拦截 android系统短信
- android 使用广播 接收和拦截 android系统短信
- 文章标题 Android系统广播的发送短信和接收短信的一些用法
- Android接收系统广播
- Android广播接收 BroadcastReceiver监听系统全局的Broadcast消息
- Android环境下接收系统灭屏广播遇到延时问题的一个解决方法
- android虚拟机接收短信的广播
- Android -- 怎么发出和接收广播, Broadcast, 电话拨号拦截,短信拦截
- android-接收系统广播
- Android 接收安装, 卸载,更新等系统广播
- Android开发之接收系统广播消息
- 关于小米(红米1s) 接收不到短信广播的问题
- 为什么我不能捕获到系统的短信广播了???
- Android开发之接收系统广播消息
- Android 3.0之后开机无法接收系统广播权限原因
- 代码库:系统/自制广播接收+静态注册开机启动+强制下线
- 系统广播的收到短信和来电/去电