欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android 標準Intent的使用詳解

 更新時間:2017年03月09日 09:33:21   投稿:lqh  
這篇文章主要介紹了Android 標準Intent的使用詳解的相關資料,需要的朋友可以參考下

一 Android系統(tǒng)用于Activity的標準Intent

1 根據(jù)聯(lián)系人ID顯示聯(lián)系人信息

Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_VIEW);  //顯示聯(lián)系人信息 
intent.setData(Uri.parse("content://contacts/people/492")); 
startActivity(intent); 

2 根據(jù)聯(lián)系人ID顯示撥號面板

Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_DIAL); //顯示撥號面板 
intent.setData(Uri.parse("content://contacts/people/492")); 
startActivity(intent); 

3 顯示撥號面板, 并在撥號面板上將號碼顯示出來

Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_VIEW);   
intent.setData(Uri.parse("tel://15216448315")); 
startActivity(intent); 

4 顯示撥號面板, 并在撥號面板上將號碼顯示出來

Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_DIAL);  //顯示撥號面板, 并在撥號面板上將號碼顯示出來 
intent.setData(Uri.parse("tel://15216448315")); 
startActivity(intent); 

5 根據(jù)聯(lián)系人的ID編輯聯(lián)系人

Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_EDIT);  //編輯聯(lián)系人 
intent.setData(Uri.parse("content://contacts/people/492")); 
startActivity(intent); 

6 顯示通訊錄聯(lián)系人和其他賬號聯(lián)系人的列表

Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_VIEW);   
intent.setData(Uri.parse("content://contacts/people/")); 
startActivity(intent); 

7 啟動HomeScreen

Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_MAIN);   //啟動HomeScreen 
intent.addCategory(Intent.CATEGORY_HOME); 
startActivity(intent); 

8 選擇某個聯(lián)系人的號碼,返回一個代表這個號碼的uri,如:content://contacts/phones/982

Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_GET_CONTENT);    
intent.setType("vnd.android.cursor.item/phone"); 
startActivityForResult(intent, 1); 

9  打開多個應用選取各種類型的數(shù)據(jù),以uri返回。返回的uri可使用ContentResolver.openInputStream(Uri)打開

    該功能可用在郵件中附件的選取

    舉例如下:

    選取一張圖片, 返回的uri為 content://media/external/images/media/47
    選取一首歌, 返回的uri為 content://media/external/audio/media/51

Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_GET_CONTENT);    
intent.setType("*/*"); 
intent.addCategory(Intent.CATEGORY_OPENABLE); 
startActivityForResult(intent, 2); 

10 自定義一個chooser,不使用系統(tǒng)的chooser

     該chooser可以有自己的標題(Title)

     并且不必讓用戶指定偏好

Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_CHOOSER);  
intent.putExtra(Intent.EXTRA_TITLE, "my chooser"); 
intent.putExtra(Intent.EXTRA_INTENT,  
    new Intent(Intent.ACTION_GET_CONTENT) 
    .setType("*/*") 
    .addCategory(Intent.CATEGORY_OPENABLE) 
    ); 
 
startActivityForResult(intent, 2); 

11 選取activity,返回的activity可在返回的intent.getComponent()中得到

Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_PICK_ACTIVITY);  
intent.putExtra( Intent.EXTRA_INTENT,  
    new Intent(Intent.ACTION_GET_CONTENT) 
    .setType("*/*") 
    .addCategory(Intent.CATEGORY_OPENABLE) 
    ); 
startActivityForResult(intent, 3); 

12 啟動搜索,在以下示例代碼中,"ANDROID"為要搜索的字符串

     當執(zhí)行這段代碼后, 會在系統(tǒng)的Chooser中顯示可以用于搜索的程序列表

Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_SEARCH);   //啟動搜索 
intent.putExtra(SearchManager.QUERY, "ANDROID"); 
startActivity(intent); 

13 啟動WEB搜索,在以下示例代碼中,"ANDROID"為要搜索的字符串

     當執(zhí)行這段代碼后, 會在系統(tǒng)的Chooser中顯示可以用于搜索的程序列表,一般情況下系統(tǒng)中安裝的瀏覽器都會顯示出來

Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_WEB_SEARCH);   //啟動搜索 
intent.putExtra(SearchManager.QUERY, "ANDROID"); 
startActivity(intent); 

二  Android系統(tǒng)用于BroadcastReceiver的標準Intent

1 ACTION_TIME_TICK,系統(tǒng)時鐘廣播,系統(tǒng)每分鐘都會發(fā)送一個這樣的廣播,  如果在應用開發(fā)中,有些邏輯依賴于系統(tǒng)時鐘,可以注冊一個廣播接收者   這是一個受保護的action,只有系統(tǒng)才能發(fā)送這個廣播   并且,在manifest文件中注冊的廣播接收者不能接收到該廣播,若要接收該廣播,必須在代碼中注冊廣播接收者

registerReceiver(new BroadcastReceiver(){ 
 
  @Override 
  public void onReceive(Context context, Intent intent) { 
    Log.i("xxxx", "TIME_TICK"); 
  } 
   
},  
new IntentFilter(Intent.ACTION_TIME_TICK)); 

2 在官方文檔中,列出了以下標準的廣播action

  1. ACTION_TIME_TICK               系統(tǒng)時鐘廣播
  2. ACTION_TIME_CHANGED            時間被重新設置
  3. ACTION_TIMEZONE_CHANGED        時區(qū)改變
  4. ACTION_BOOT_COMPLETED          系統(tǒng)啟動完成
  5. ACTION_PACKAGE_ADDED           系統(tǒng)中安裝了新的應用
  6. ACTION_PACKAGE_CHANGED         系統(tǒng)中已存在的app包被更改
  7. ACTION_PACKAGE_REMOVED         系統(tǒng)中已存在的app被移除
  8. ACTION_PACKAGE_RESTARTED       用戶重啟了一個app,這個app的所有進程被殺死
  9. ACTION_PACKAGE_DATA_CLEARED    用戶清除了一個app的數(shù)據(jù)
  10. ACTION_UID_REMOVED             系統(tǒng)中的一個user ID被移除
  11. ACTION_BATTERY_CHANGED         電池狀態(tài)改變,這是一個sticky廣播
  12. ACTION_POWER_CONNECTED         設備連接了外部電源
  13. ACTION_POWER_DISCONNECTED      外部電源被移除
  14. ACTION_SHUTDOWN                設備正在關機

三  Android中的標準類別(category)

類別(category)一般配合action使用,以下為系統(tǒng)中的標準類別,由于數(shù)量過多,只能在使用到時再詳細研究

  1. CATEGORY_DEFAULT
  2. CATEGORY_BROWSABLE
  3. CATEGORY_TAB
  4. CATEGORY_ALTERNATIVE
  5. CATEGORY_SELECTED_ALTERNATIVE
  6. CATEGORY_LAUNCHER
  7. CATEGORY_INFO
  8. CATEGORY_HOME
  9. CATEGORY_PREFERENCE
  10. CATEGORY_TEST
  11. CATEGORY_CAR_DOCK
  12. CATEGORY_DESK_DOCK
  13. CATEGORY_LE_DESK_DOCK
  14. CATEGORY_HE_DESK_DOCK
  15. CATEGORY_CAR_MODE
  16. CATEGORY_APP_MARKET

四  Android中的標準Extra鍵值

這些常量用于在調(diào)用Intent.putExtra(String, Bundle)時作為鍵值傳遞數(shù)據(jù),同樣由于數(shù)量較多,在此只列出索引

  1. EXTRA_ALARM_COUNT
  2. EXTRA_BCC
  3. EXTRA_CC
  4. EXTRA_CHANGED_COMPONENT_NAME
  5. EXTRA_DATA_REMOVED
  6. EXTRA_DOCK_STATE
  7. EXTRA_DOCK_STATE_HE_DESK
  8. EXTRA_DOCK_STATE_LE_DESK
  9. EXTRA_DOCK_STATE_CAR
  10. EXTRA_DOCK_STATE_DESK
  11. EXTRA_DOCK_STATE_UNDOCKED
  12. EXTRA_DONT_KILL_APP
  13. EXTRA_EMAIL
  14. EXTRA_INITIAL_INTENTS
  15. EXTRA_INTENT
  16. EXTRA_KEY_EVENT
  17. EXTRA_ORIGINATING_URI
  18. EXTRA_PHONE_NUMBER
  19. EXTRA_REFERRER
  20. EXTRA_REMOTE_INTENT_TOKEN
  21. EXTRA_REPLACING
  22. EXTRA_SHORTCUT_ICON
  23. EXTRA_SHORTCUT_ICON_RESOURCE
  24. EXTRA_SHORTCUT_INTENT
  25. EXTRA_STREAM
  26. EXTRA_SHORTCUT_NAME
  27. EXTRA_SUBJECT
  28. EXTRA_TEMPLATE
  29. EXTRA_TEXT
  30. EXTRA_TITLE
  31. EXTRA_UID

五  Intent中的標志(FLAG)

Intent類中定義了一些以FLAG_開頭的標志位,這些標志位中有的非常重要,會影響app中Activity和BroadcastReceiver等的行為。

以下為這些標志位的索引,是從官方文檔上的截圖。之后會對重要的標志加以詳細分析


感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

最新評論