TelephonyManager.GetDeviceId(Int32) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
回傳訂閱的唯一裝置 ID,例如 GSM 的 IMEI 與 CDMA 手機的 MEID。
[Android.Runtime.Register("getDeviceId", "(I)Ljava/lang/String;", "GetGetDeviceId_IHandler", ApiSince=23)]
[Android.Runtime.RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE")]
public virtual string? GetDeviceId(int slotIndex);
[<Android.Runtime.Register("getDeviceId", "(I)Ljava/lang/String;", "GetGetDeviceId_IHandler", ApiSince=23)>]
[<Android.Runtime.RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE")>]
abstract member GetDeviceId : int -> string
override this.GetDeviceId : int -> string
參數
- slotIndex
- Int32
回傳的裝置ID
傳回
- 屬性
備註
回傳訂閱的唯一裝置 ID,例如 GSM 的 IMEI 與 CDMA 手機的 MEID。 若無法取得裝置 ID,則回傳 null。
從 API 第 29 級開始,持久裝置識別碼受到額外限制,且建議應用程式使用可重置識別碼(參見唯一識別碼最佳實務)。 若符合以下條件之一,即可啟動此方法: <ul><li>若呼叫應用程式已獲得 READ_PRIVILEGED_PHONE_STATE 權限;此權限僅能授予裝置預先載入的應用程式。
<li>如果呼叫應用程式是完全管理裝置的裝置擁有者、組織擁有裝置的設定檔擁有者,或其代理人(參見 android.app.admin.DevicePolicyManager#getEnrollmentSpecificId())。
<li>:如果通話應用程式在任何有效訂閱上都有電信業者權限(參見 #hasCarrierPrivileges)。
<li>如果呼叫應用程式是預設的簡訊角色持有者(參見 RoleManager#isRoleHeld(String))。
</ul>
若呼叫應用程式不符合上述一項要求,則此方法的行為如下:
<ul><li>如果呼叫應用程式的目標 SDK 是 API 等級 28 或以下,且該應用程式擁有 READ_PHONE_STATE 權限,則會回傳 null。</li><li>如果呼叫應用程式的目標 SDK 是 API 等級 28 或以下,且應用程式沒有 READ_PHONE_STATE 權限,或呼叫應用程式的目標是 API 等級 29 或以上,則會拋出 SecurityException。</li></ul>
此會員已被棄用。 使用 #getImei GSM回傳IMEI或 #getMeid CDMA回傳MEID的選項。
Java 文件 android.telephony.TelephonyManager.getDeviceId(int)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。