首页 > 代码库 > Broadcast Intent 和Broadcast Receiver的使用
Broadcast Intent 和Broadcast Receiver的使用
package tw.android;import android.app.Activity;import android.content.*;import android.os.Bundle;import android.view.View;import android.widget.Button;public class Main extends Activity { private Button mBtnRegReceiver, mBtnUnregReceiver, mBtnSendBroadcase1, mBtnSendBroadcase2; private MyBroadcaseReceiver2 mMyReceiver2; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); setupViewComponent(); } private void setupViewComponent() { mBtnRegReceiver = (Button)findViewById(R.id.btnRegReceiver); mBtnUnregReceiver = (Button)findViewById(R.id.btnUnregReceiver); mBtnSendBroadcase1 = (Button)findViewById(R.id.btnSendBroadcase1); mBtnSendBroadcase2 = (Button)findViewById(R.id.btnSendBroadcase2); mBtnRegReceiver.setOnClickListener(btnRegReceiverOnClickLis); mBtnUnregReceiver.setOnClickListener(btnUnregReceiverOnClickLis); mBtnSendBroadcase1.setOnClickListener(btnSendBroadcase1OnClickLis); mBtnSendBroadcase2.setOnClickListener(btnSendBroadcase2OnClickLis); } private Button.OnClickListener btnRegReceiverOnClickLis = new Button.OnClickListener() { public void onClick(View v) { IntentFilter itFilter = new IntentFilter("tw.android.MY_BROADCAST2"); mMyReceiver2 = new MyBroadcaseReceiver2(); registerReceiver(mMyReceiver2, itFilter); } }; private Button.OnClickListener btnUnregReceiverOnClickLis = new Button.OnClickListener() { public void onClick(View v) { unregisterReceiver(mMyReceiver2); } }; private Button.OnClickListener btnSendBroadcase1OnClickLis = new Button.OnClickListener() { public void onClick(View v) { Intent it = new Intent("tw.android.MY_BROADCAST1"); it.putExtra("sender_name", "主程序"); sendBroadcast(it); } }; private Button.OnClickListener btnSendBroadcase2OnClickLis = new Button.OnClickListener() { public void onClick(View v) { Intent it = new Intent("tw.android.MY_BROADCAST2"); it.putExtra("sender_name", "主程序"); sendBroadcast(it); } };}
package tw.android;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.widget.Toast;public class MyBroadcaseReceiver1 extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub String sender = intent.getStringExtra("sender_name"); Toast.makeText(context, "BroadcastReceiver1Μ收到" + sender + "发送的Broadcase信息", Toast.LENGTH_LONG).show(); }}
package tw.android;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.widget.Toast;public class MyBroadcaseReceiver2 extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub String sender = intent.getStringExtra("sender_name"); Toast.makeText(context, "BroadcastReceiver2Μ收到" + sender + "发送Broadcase的信息", Toast.LENGTH_LONG).show(); }}
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" ><LinearLayout android:orientation="vertical" android:layout_width="0dp" android:layout_height="fill_parent" android:layout_weight="1" /><LinearLayout android:orientation="vertical" android:layout_width="0dp" android:layout_height="fill_parent" android:layout_weight="1" ><Button android:id="@+id/btnRegReceiver" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="注册Broadcase Receiver2" android:layout_marginTop="20dp" /><Button android:id="@+id/btnUnregReceiver" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="注销Broadcase Receiver2" /><Button android:id="@+id/btnSendBroadcase1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="传送MY_BROADCAST1" /><Button android:id="@+id/btnSendBroadcase2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="传送MY_BROADCAST2" /></LinearLayout><LinearLayout android:orientation="vertical" android:layout_width="0dp" android:layout_height="fill_parent" android:layout_weight="1" /></LinearLayout>
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="tw.android" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:targetSdkVersion="11" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".Main" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name=".MyBroadcaseReceiver1" android:label="@string/app_name"> <intent-filter> <action android:name="tw.android.MY_BROADCAST1" /> </intent-filter> </receiver> </application></manifest>
Broadcast Intent 和Broadcast Receiver的使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。