編輯:初級開發
用途 1。啟動一個Activity,implicity or explicity 2。廣播事件的發生
1。 啟動一個Activity,explicitly Intent intent = new Intent(MyActivity.this, MyOtherActivity.class); startActivity(intent); 這只要知道那個Activity的class就可以
2。 啟動一個Activity,implicitly Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:555-2368")); startActivity(intent); 要知道你需要完成的工作和數據
3。 如果要從新的Activity那得到結果 private static final int SHOW_SUBACTIVITY = 1; Intent intent = new Intent(this, MyOtherActivity.class); startActivityForResult(intent, SHOW_SUBACTIVITY); 要將要求代碼傳過去
4。 返回結果,是通過一個Intent來完成 Intent result = new Intent(null,data); result.putExtra(IS_INPUT_CORRECT, inputCorrect); result.putExtra(SELECTED_PISTOL, selectedPistol); setResult(RESULT_OK, result); finish();
5。處理結果 public void onActivityResult(int requestCode, int resultCode, Intent data) 總在這個事件處理器上處理
6。用intent-filter來注冊一個Activity為intent receiver <intent-filter> <action android:name="com.paad.earthquake.intent.action.SHOW_DAMAGE"></action> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.ALTERNATIVE_SELECTED"/> <data android:mimeType="vnd.earthquake.cursor.item/*"/> </intent-filter>
7。 找到那個intent是自己的啟動者 Intent intent = getIntent(); 這會用到,當你需要得到從intent帶過來的數據
8。 將啟動intent交給下一個處理者來處理 startNextMatchingActivity(intent);
接上,其實BnMediaPlayerService->onTransact函數的結構也很簡單,就是switch...case...接收不同的請求執行不同的代碼調用
很多Android開發者可能因為沒有充分測試自己的軟件造成很容易出現FC(Force Close)的問題,這裡我們可以通過使用Android固件中自帶的monkey工具
下面展示一段在android1.5上讀取手機通訊錄的代碼1 //鏈接通訊錄數據庫 2 ContentResolver content = getContentResol
我首先從宏觀的角度觀察Binder,Service,Service Manager,並闡述各自的概念。從Linux的概念空間中,android的設計Activity托管