廣播傳送數據機制

1. 先註冊廣播  :(注意:註冊廣播要在接收廣播之前)

	MyReceiver receiver = new MyReceiver();
	IntentFilter filter = new IntentFilter();// 創建IntentFilter對象
	filter.addAction("android.intent.action.test");
	registerReceiver(receiver, filter);


其中MyReceiver爲廣播接收器,可以同時註冊多個廣播registerReceiver(receiver, filter);只要filter.addAction("不一樣的標識");

2.廣播註冊完後要發送廣播

  Intent intent = new Intent();
  intent.setAction("android.intent.action.test");// action與接收器相同
  Bundle bundle = new Bundle();
  bundle.putSerializable("showAllFriends", list);//這裏可以傳送數據
  intent.putExtras(bundle);
  sendBroadcast(intent);


3.接收廣播

/**
	 * 廣播接收器
	 * 
	 * @author Administrator
	 * 
	 */
	public static class MyReceiver extends BroadcastReceiver {
		@Override
		public void onReceive(Context context, Intent intent) {
			 Bundle bundle = intent.getExtras();    
			 bundle.getSerializable("showAllFriends"));
			System.out
					.println("---------------------------------------------------------------------");
		}

		public MyReceiver() {
			System.out.println("MyReceiver");
			// 構造函數,做一些初始化工作,本例中無任何作用
		}
	}


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章