數個核心裝置功能 (例如,讀取通話記錄和傳送簡訊) 皆取決敏感的使用者資訊存取權。為保護使用者隱私,並讓使用者進一步控管提供給裝置上應用程式的資訊,Google Play 會限制應用程式對通話和訊息相關權限群組的存取權。
如果您在 Google Play 商店發布應用程式,且想存取與通話記錄和簡訊相關的敏感使用者資訊,除非應用程式符合 Play 管理中心說明中心所列的任何一種例外狀況,否則皆需將應用程式註冊為使用者的「預設處理常式」,才能提供與該權限相關的核心裝置功能。舉例來說,如要存取與通話相關的權限,除非應用程式符合例外情況,否則您必須將應用程式註冊為使用者的預設手機或 Google 助理處理常式。
本指南會簡要說明使用者如何在 Android 裝置上存取預設處理常式。接著,本指南會審查應用程式的需求條件 必須符合這些條件,才能成為預設處理常式。最後, 指南會逐步引導您取得使用者同意,以成為 預設處理常式。
如要進一步瞭解預設處理常式,以及如何處理 Play 商店所提供應用程式中的權限,請參閱權限政策指南。
查看及變更預設處理常式組合
Android 可讓使用者針對撥打電話、傳送簡訊以及提供輔助技術功能等多項核心用途設定預設處理常式。
Android 裝置上的「設定」應用程式會顯示畫面,向使用者展示哪些應用程式目前是裝置核心功能的預設處理常式,如圖 1 所示。在這個畫面中,使用者可以變更特定功能的預設處理常式,如圖 2 所示。
鑒於應用程式作為預設處理常式時會存取敏感的使用者資訊,因此,除非符合下列 Play 商店資訊和核心功能需求,否則應用程式無法成為預設處理常式:
- 如果應用程式是某項功能的預設處理常式,就必須能夠執行該項功能。舉例來說,預設的簡訊處理常式必須能傳送簡訊。
- 您的應用程式必須提供隱私權政策。
- 您的應用程式必須在 Play 商店說明中闡述其核心功能。例如,預設手機處理常式應在說明中描述其手機相關的功能。
- 您的應用程式必須聲明適用於自身用途的權限。如要進一步瞭解特定處理常式可以宣告哪些權限,請參閱 Play 管理中心說明中心的 關於使用簡訊或通話記錄權限群組指南。
- 您的應用程式必須先要求成為預設處理常式,「然後」才能要求
具備與該處理常式相關的權限例如,應用程式必須要求
,在要求
READ_SMS
權限前成為預設簡訊處理常式。
要求使用者同意
確認應用程式符合做為預設處理常式的各項規定後,您可以新增邏輯以顯示對話方塊,如圖 3 所示。這個對話方塊會要求使用者將應用程式設為特定用途的預設處理常式。
以下範例程式碼顯示詢問使用者是否同意變更裝置預設簡訊處理常式的提示所需邏輯:
Kotlin
val setSmsAppIntent = Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT) setSmsAppIntent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, packageName) startActivityForResult(setSmsAppIntent, your-result-code)
Java
Intent setSmsAppIntent = new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT); setSmsAppIntent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, getPackageName()); startActivityForResult(setSmsAppIntent, your-result-code);