android利用廣播(BroadcastReceiver)傳遞資料
阿新 • • 發佈:2019-01-07
利用廣播傳遞資料,肯定需要用Intent或者bundle,那首先第一步:
一、註冊廣播接收器
public class MainActivity extends AppCompatActivity { MyReceiver myReceiver; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //註冊廣播接收器 myReceiver = new MyReceiver(); IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction("com.fengchi.broadcastreceiver.MYRECEIVER"); registerReceiver(myReceiver, intentFilter); } }
二、傳送廣播(在這個步驟進行傳遞資料)
// "com.fengchi.broadcastreceiver.MYRECEIVER"與註冊廣播時的action保持一致
Intent intent = new Intent("com.fengchi.broadcastreceiver.MYRECEIVER");
intent.putExtra("ID", ID); //向廣播接收器傳遞資料
sendBroadcast(intent);
三、廣播接收器的實現類(可以是內部類也可以是外部類)
public BroadcastReceiver MyReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); Log.d(TAG, "action = " + action); if (action.equals("com.fengchi.broadcastreceiver.MYRECEIVER")) { // 接收到廣播傳來的資料 int ID =intent.getIntExtra("ID"); ToastUtils.showToast_Now(mContext,ID + ""); }else{ ToastUtils.showToast_Now(mContext,""); } } };