【Android】指定Action、Category呼叫系統頁面?

Tags: 系統, 頁面,

Intent可以啟動程式的元件。

Intent還可以啟動Activity系統的其他應用的程式元件。

(包括系統自帶的程式元件,但是要獲取許可權。)

工具/原料

編譯工具:Eclipse

方法/步驟

ACTION_MAIN

【android.intent.action.MAIN】

應用程式入口

ACTION_VIEW

【android.intent.action.VIEW】

顯示指定資料

ACTION_ATTACH_DATA

【android.intent.action.ATTACH_DATA】

指定某塊資料將被附加到其他地方

ACTION_EDIT

【android.intent.action.EDIT】

編輯指定資料

ACTION_PICK

【android.intent.action.PICK】

從列表中選擇某項,並返回所選的資料。

ACTION_CHOOSER

【android.intent.action.CHOOSER】

顯示一個Activity選擇器

ACTION_GET_CONTENT

【android.intent.action.GET_CONTENT】

讓使用者選擇資料,並返回所選資料。

ACTION_DIAL

【android.intent.action.DIAL】

顯示撥號面板

【Android】指定Action、Category呼叫系統頁面

ACTION_CALL

【android.intent.action.CALL】

直接向指定使用者打電話

ACTION_SEND

【android.intent.action.SEND】

向其他人傳送資料

ACTION_SENDTO

【android.intent.action.SENDTO】

向其他人傳送訊息

ACTION_ANSWER

【android.intent.action.ANSWER】

應答電話

ACTION_INSERT

【android.intent.action.INSERT】

插入資料

ACTION_DELETE

【android.intent.action.DELETE】

刪除資料

ACTION_RUN

【android.intent.action.RUN】

執行資料

ACTION_SYNC

【android.intent.action.SYNC】

執行資料同步

【Android】指定Action、Category呼叫系統頁面

ACTION_PICK_ACTIVITY

【android.intent.action.PICK_ACTIVITY】

用於選擇Activity

ACTION_SEARCH

【android.intent.action.SEARCH】

執行搜尋

ACTION_WEB_SEARCH

【android.intent.action.WEB_SEARCH】

執行web搜尋

ACTION_FACTORY_TEST

【android.intent.action.FACTORY_TEST】

工廠測試入口點

這些只是action常量的一部分,要看其他的自己去查官方文件。

【Android】指定Action、Category呼叫系統頁面

CATEGORY_DEFAULT

【android.intent.category.DEFAULT】

預設的Category

CATEGORY_BROWSABLE

【android.intent.category.BROWSABLE】

指定該Activity能被瀏覽器安全用

CATEGORY_TAB

【android.intent.category.TAB】

指定Activity作為TabActivity的Tab頁

CATEGORY_LAUNCHER

【android.intent.category.LAUNCHER】

Activity顯示頂級程式列表中

CATEGORY_INFO

【android.intent.category.INFO】

用於提供包資訊

CATEGORY_HOME

【android.intent.category.HOME】

設定該Activity隨系統啟動而執行

【Android】指定Action、Category呼叫系統頁面

CATEGORY_PREFERENCE

【android.intent.category.PREFERENCE】

該Activity是引數面板

CATEGORY_TEST

【android.intent.category.TEST】

該Activity是一個測試

CATEGORY_CAR_DOCK

【android.intent.category.CAR_DOCK】

指定手機被插入汽車底座(硬體)時執行該Activity

CATEGORY_DESK_DOCK

【android.intent.category.DESK_DOCK】

指定手機被插入桌面底座(硬體)時執行該Activity

CATEGORY_CAR_MODE

【android.intent.category.CAR_MODE】

設定該Activity可在車載環境下使用

這些只是category常量的一部分,要看其他的自己去查官方文件。

【Android】指定Action、Category呼叫系統頁面

這裡舉個例子

顯示聯絡人的名字、電話號碼。

// 建立Intent Intent intent = new Intent(); //設定Intent的Action屬性 intent.setAction(Intent.ACTION_GET_CONTENT); //設定Intent的Type屬性 intent.setType("vnd.android.cursor.item/phone"); // 啟動Activity,並希望獲取該Activity的結果 startActivityForResult(intent, PICK_CONTACT);

【Android】指定Action、Category呼叫系統頁面

// 獲取返回的資料

Uri contactData = data.getData();

CursorLoader cursorLoader = new CursorLoader(this , contactData, null, null, null, null); // 查詢聯絡人資訊

Cursor cursor = cursorLoader.loadInBackground(); // 如果查詢到指定的聯絡人

if (cursor.moveToFirst()) {

String contactId = cursor.getString(cursor .getColumnIndex(ContactsContract.Contacts._ID));

// 獲取聯絡人的名字

String name = cursor.getString(cursor .getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));

String phoneNumber = "此聯絡人暫未輸入電話號碼";

//根據聯絡人查詢該聯絡人的詳細資訊

Cursor phones = getContentResolver().query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId, null, null);

if (phones.moveToFirst()) {

//取出電話號碼

phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract .CommonDataKinds.Phone.NUMBER));

}

// 關閉遊標

phones.close();

EditText show = (EditText) findViewById(R.id.show);

//顯示聯絡人的名稱

show.setText(name);

EditText phone = (EditText) findViewById(R.id.phone);

//顯示聯絡人的電話號碼 phone.setText(phoneNumber); }

// 關閉遊標

cursor.close();

【Android】指定Action、Category呼叫系統頁面

注意事項

本步驟需要一定程式碼基礎

程式程式碼以程式碼片段的形式展示

相關問題答案