首页 > 代码库 > Android:BroadcastReceiver的练习使用
Android:BroadcastReceiver的练习使用
1 package com.example.broadcastdemo1; 2 3 import android.os.Bundle; 4 import android.app.Activity; 5 import android.content.Intent; 6 import android.content.IntentFilter; 7 import android.view.Menu; 8 import android.view.View; 9 10 public class MainActivity extends Activity {11 private MyBroadcastReceiver2 mbr2;12 private MyBroadcastReceiver3 mbr3;13 @Override14 protected void onCreate(Bundle savedInstanceState) {15 super.onCreate(savedInstanceState);16 setContentView(R.layout.activity_main);17 IntentFilter intentFilter = new IntentFilter("BC_One");18 mbr2 = new MyBroadcastReceiver2();19 registerReceiver(mbr2, intentFilter); 20 }21 22 public void doClick(View v) {23 switch (v.getId()) {24 case R.id.normal_broadcast:25 Intent intent = new Intent();26 intent.putExtra("msg", "这是一条普通广播");27 intent.setAction("BC_One");28 sendBroadcast(intent);29 break;30 case R.id.ordered_broadcast:31 Intent intent2 = new Intent();32 intent2.putExtra("msg", "这是一条有序广播");33 intent2.setAction("BC_One");34 sendOrderedBroadcast(intent2, null);35 break;36 case R.id.sticky_broadcast:37 Intent intent3 = new Intent();38 intent3.putExtra("msg", "这是一条有序广播");39 intent3.setAction("BC_Three");40 sendStickyBroadcast(intent3);41 IntentFilter intentFilter = new IntentFilter("BC_Three");42 mbr3 = new MyBroadcastReceiver3();43 registerReceiver(mbr3, intentFilter);44 break;45 }46 }47 48 // @Override49 // protected void onDestroy() {50 // // TODO Auto-generated method stub51 // super.onDestroy();52 // unregisterReceiver(mbr2);53 // unregisterReceiver(mbr3);54 // }55 }
1 package com.example.broadcastdemo1; 2 3 import android.content.BroadcastReceiver; 4 import android.content.Context; 5 import android.content.Intent; 6 import android.os.Bundle; 7 import android.util.Log; 8 9 public class MyBroadcastReceiver2 extends BroadcastReceiver{10 11 @Override12 public void onReceive(Context context, Intent intent) {13 // TODO Auto-generated method stub14 String str = intent.getStringExtra("msg");15 Log.i("info","我是2!信息为:"+str );16 Bundle bundle = new Bundle();17 bundle.putString("test", "经过处理的数据");18 setResultExtras(bundle);19 // abortBroadcast();20 }21 22 }
1 package com.example.broadcastdemo1; 2 3 import android.content.BroadcastReceiver; 4 import android.content.Context; 5 import android.content.Intent; 6 import android.os.Bundle; 7 import android.util.Log; 8 9 public class MyBroadcastReceiver extends BroadcastReceiver{10 11 @Override12 public void onReceive(Context context, Intent intent) {13 // TODO Auto-generated method stub14 String str = intent.getStringExtra("msg");15 Log.i("info", "我是1!信息为:"+str);16 Bundle bundle = getResultExtras(true);17 String str2 = bundle.getString("test");18 Log.i("info", "这是什么?"+str2);19 }20 21 }
1 package com.example.broadcastdemo1; 2 3 import android.content.BroadcastReceiver; 4 import android.content.Context; 5 import android.content.Intent; 6 import android.util.Log; 7 8 public class MyBroadcastReceiver3 extends BroadcastReceiver{ 9 10 @Override11 public void onReceive(Context context, Intent intent) {12 // TODO Auto-generated method stub13 Log.i("info", "接收到了一条异步广播!");14 }15 16 }
1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 package="com.example.broadcastdemo1" 4 android:versionCode="1" 5 android:versionName="1.0" > 6 7 <uses-sdk 8 android:minSdkVersion="8" 9 android:targetSdkVersion="17" />10 <uses-permission android:name="android.permission.BROADCAST_STICKY"/>11 12 <application13 android:allowBackup="true"14 android:icon="@drawable/ic_launcher"15 android:label="@string/app_name"16 android:theme="@style/AppTheme" >17 <activity18 android:name="com.example.broadcastdemo1.MainActivity"19 android:label="@string/app_name" >20 <intent-filter>21 <action android:name="android.intent.action.MAIN" />22 23 <category android:name="android.intent.category.LAUNCHER" />24 </intent-filter>25 </activity>26 <receiver 27 android:name="com.example.broadcastdemo1.MyBroadcastReceiver">28 <intent-filter >29 <action android:name="BC_One"/>30 </intent-filter>31 </receiver>32 </application>33 34 </manifest>
Android:BroadcastReceiver的练习使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。