mars android开发之二:在代码中注册广播
来源:互联网 发布:sql查全相同重复数据 编辑:程序博客网 时间:2024/04/29 13:50
如果用于更新UI,通常会使用该方法注册,在Activity启动的时候注册BroadcastReceiver,在Activity不可见以后取消注册
SMSReceiver.java
MainActivity.java
package com.example.broadcastreceivertesttwo;import android.os.Bundle;import android.app.Activity;import android.content.IntentFilter;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity {Button registerButton;Button unregisterButton;SMSReceiver smsReceiver;private static final String SMS_ACTION="android.provider.Telephony.SMS_RECEIVED";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);registerButton = (Button) findViewById(R.id.registerButton);unregisterButton = (Button) findViewById(R.id.unregisterButton);registerButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {smsReceiver = new SMSReceiver();IntentFilter filter = new IntentFilter();filter.addAction(SMS_ACTION);registerReceiver(smsReceiver, filter);}});unregisterButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {unregisterReceiver(smsReceiver);}});}}
Manifest.xml
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.broadcastreceivertesttwo" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="10" /> <uses-permission android:name="android.permission.RECEIVE_SMS" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.broadcastreceivertesttwo.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application></manifest>
SMSReceiver.java
package com.example.broadcastreceivertesttwo;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.telephony.SmsMessage;public class SMSReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { System.out.println("receiver message"); // 接受Intent对象当中的数据 Bundle bundle = intent.getExtras(); // 在Bundle对象当中有一个属性名为pdus,这个属性的值是一个Object数组 Object[] myOBJpdus = (Object[]) bundle.get("pdus"); //创建一个SmsMessage类型的数组 SmsMessage[] messages = new SmsMessage[myOBJpdus.length]; System.out.println(messages.length); for (int i = 0; i < myOBJpdus.length; i++) { //使用Object数组当中的对象创建SmsMessage对象 messages[i] = SmsMessage.createFromPdu((byte[]) myOBJpdus[i]); //调用SmsMessage对象的getDisppalyMessageBody()方法,就可以得到消息的内容 System.out.println(messages[i].getDisplayMessageBody()); } } }0 0
- mars android开发之二:在代码中注册广播
- mars android开发之一:在AndroidMainfest.xml中注册广播
- Android锁屏广播只能在代码中注册,无法再AndroidManifest整注册
- Android开发 --- 广播 注册
- android的广播介绍,在manifest .xml中注册广播
- android的广播介绍,在程序中注册广播
- Android之广播二(静态注册实现开机启动)
- android之旅19 代码注册广播接收者
- 在Activity中注册广播
- Android在Service中注册动态广播接收者
- 在Android学习中有关于广播注册的问题
- BroadcastReceiver之在代码中注册
- [Android]AMS广播注册(二)
- android 代码方式注册广播接收着
- android 广播,manifest.xml注册,代码编写
- Android广播之注册广播(包括静态广播和动态广播的注册)源码分析
- Android开发之广播
- Android广播管理二--广播注册(registerReceiver)流程分析
- Js表格,万条数据瞬间加载
- SPI总线简介
- mysql数据库索引的建立以及性能测试
- 正确使用Block避免Cycle Retain和Crash
- magento - 表单提交 插件 WebForms: Community Edition
- mars android开发之二:在代码中注册广播
- input type="submit" 设置背景图片
- DOM4j解析XML(依赖注入)
- 第六章 背包问题——01背包
- poj1019 Number Sequence,我的思路简单,使用了优化解决
- Jquery中的层次选择器与find()的区别
- 聊聊Memcached的应用
- Andoird onStartCommand()
- use matlab engine