天天看點

Android系統中Intent的使用

1.根據聯系人ID顯示聯系人資訊

Intent intent = new Intent();  
intent.setAction(Intent.ACTION_VIEW);   //顯示聯系人資訊  
intent.setData(Uri.parse("content://contacts/people/492"));  
startActivity(intent);  
           

2.根據聯系人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.根據聯系人的ID編輯聯系人

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

6.顯示通訊錄聯系人和其他賬号聯系人的清單

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 選擇某個聯系人的号碼,傳回一個代表這個号碼的uri,如:content://contacts/phones/982

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

9 打開多個應用選取各種類型的資料,以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, );  
           

10 自定義一個chooser,不使用系統的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, );  
           

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, );  
           

12 啟動搜尋,在以下示例代碼中,”ANDROID”為要搜尋的字元串

當執行這段代碼後, 會在系統的Chooser中顯示可以用于搜尋的程式清單

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

13 啟動WEB搜尋,在以下示例代碼中,”ANDROID”為要搜尋的字元串

當執行這段代碼後, 會在系統的Chooser中顯示可以用于搜尋的程式清單,一般情況下系統中安裝的浏覽器都會顯示出來

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

轉自:http://blog.csdn.net/zhangjg_blog/article/details/10901293

繼續閱讀