我想通過Contacts Picker
這樣讀取聯繫人:未經許可請閱讀聯繫人?
Intent contactPickerIntent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI);
startActivityForResult(contact, CONTACT_PICK_CODE);
如果我得到的結果是,intent.getData()
包含uri
來查找聯繫人,但我需要許可READ_CONTACTS
來閱讀。
我認爲有可能在沒有此權限的情況下接收聯繫人,類似於CALL
權限:如果我想直接撥打電話,我需要它,但是如果沒有它,我可以向電話應用發送號碼,用戶必須點擊通話按鈕。 READ_CONTACTS
有沒有類似的功能我不知道?
我同意到一定程度。但是「手動輸入接收數據」是「發送號碼到撥號程序」的一個壞例子。我可以發送實際的號碼,用戶不必自己輸入。如果我想「在後臺查詢聯繫人」就像在自動完成的EditText中一樣,權限是完全有意義的。用戶可能不知道聯繫人被訪問。但是,如果我向用戶顯示他的聯繫應用程序,並且他必須選擇一個,他怎麼會不知道他的「聯繫人」正在訪問?這對他來說只是一個方便,而不是輸入數據,從Contacts –
PLUS中可以看出,大多數權限在'startActivityForResult'失敗。在ContactPicker中,用戶可以選擇他的聯繫人,並獲得數據意圖返回,而不需要權限。不幸的數據只包含一個查找uri,然後需要這個權限如果你想閱讀它。 –
如果我的理解是正確的,你希望用戶選擇一個聯繫人,但因此您必須閱讀他的所有聯繫人,並創建一個列表來chhose或用戶接觸應用必須從選擇一個聯繫人數據發送到您的意圖。根據用戶接觸應用第二種方式是不可能的,第一個需要的權限:) – DaKirsche