BroadcastReceiver怎么使用
来源:互联网 发布:mac铁锈红 编辑:程序博客网 时间:2024/05/19 21:41
Android系统引入了一种信息传播机制----广播机制,这是一种广泛应用在应用程序之间传输信息的机制。比如低于变换,电量不足,来电来短信等。BroadcastReceiver相当 于广播接收器,类似于收音机。都知道收音机获取广播需要依靠频率来匹配,这里的频率就是Intent对象中的action属性。
BroadcastReceiver用法比较简单,直接上代码。
交互界面BroadcastReceiverActivity.java
package com.android;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.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;/** * * 注释部分代码为内部类实现广播接收, * 使用纯代码实现注册和注销广播接收 * */public class BroadcastReceiverActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /*IntentFilter ifi = new IntentFilter(); ifi.addAction("com.android.innerbreceiver"); this.registerReceiver(br,ifi);*/ setContentView(R.layout.main); Button button = (Button)findViewById(R.id.startButton); button.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {Intent intent = new Intent();intent.setAction("com.android.myreceiver");//intent.setAction("com.android.innerbreceiver");intent.putExtra("str", "message");sendBroadcast(intent);}}); } /*BroadcastReceiver br = new BroadcastReceiver() {public void onReceive(Context context, Intent intent) {Log.v("InnerReceiver", intent.getStringExtra("str")+"");}};*/ /*public void onDestroy() { super.onDestroy(); this.unregisterReceiver(br); }*/}
简单的接收器MyReceiver.java
package com.android;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.util.Log;public class MyReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context arg0, Intent arg1) {Log.v("MyReceiver", arg1.getStringExtra("str")+"");}}
注册文件AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="10" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:label="@string/app_name" android:name=".BroadcastReceiverActivity" > <intent-filter > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name=".MyReceiver"> <intent-filter> <action android:name="com.android.myreceiver"/> </intent-filter> </receiver> </application></manifest>接收器只接收与自己有相同action的广播,<intent-filter>设置发送的广播相同的action就可以了,也就是频率相同。
- BroadcastReceiver怎么使用
- 使用BroadcastReceiver
- BroadcastReceiver 使用
- BroadcastReceiver使用
- 使用BroadCastReceiver
- [Android] BroadCastReceiver的使用
- BroadcastReceiver使用方式
- Android中BroadCastReceiver使用
- 使用BroadcastReceiver处理Notification
- BroadcastReceiver使用方式
- BroadcastReceiver基本使用
- Android中BroadCastReceiver使用
- Android BroadcastReceiver 使用 SQLite
- Android中BroadCastReceiver使用
- Android中BroadCastReceiver使用
- 使用broadcastreceiver监听短信
- Android中BroadCastReceiver使用
- Android -- BroadcastReceiver的使用
- 动态库dll中生成对话框,若包括ActiveX控件,创建对话框失败时,要在InitInstance()中加上: OleInitialize(NULL) & AfxEnableControlContai
- 使用Windows Live Writer 常见的几个Blog接口
- Sate210 512M DDR2和256M DDR2 版本 七寸 LCD显示正常了,相当的雷人,坑爹!
- Android应用程序基础
- 黑马程序员——函数与面向对象
- BroadcastReceiver怎么使用
- JavaScript 图书翻页效果 - 20Things_PageFlip_Example
- Extjs的Window在IE6中滚动条失效,表单太大 当出现滚动条 时候会出现window和form错位
- oracle认证书籍
- "天才"排序算法:Sleepsort
- 【二维树状数组】HDU 1892
- 动态规划——HDOJ 1087
- POJ 2154 Color 【polya+dfs】
- 辞去斯坦福大学终身教职,创立Udacity线上大学,或将改变未来获得教育与知识的方式