TelephonyManager.SubscriberId 属性

定义

返回唯一的订阅者 ID,例如 GSM 手机的 IMSI。

public virtual string? SubscriberId { [Android.Runtime.Register("getSubscriberId", "()Ljava/lang/String;", "GetGetSubscriberIdHandler")] [Android.Runtime.RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE")] get; }
[<get: Android.Runtime.Register("getSubscriberId", "()Ljava/lang/String;", "GetGetSubscriberIdHandler")>]
[<get: Android.Runtime.RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE")>]
member this.SubscriberId : string

属性值

属性

注解

返回唯一的订阅者 ID,例如 GSM 手机的 IMSI。 如果不可用,则返回 null。

从 API 级别 29 开始,永久性设备标识符受到其他限制保护,建议应用使用可重置标识符(请参阅唯一标识符的最佳做法)。 如果满足以下要求之一,则可以调用此方法: <ul><li>如果已向调用应用授予READ_PRIVILEGED_PHONE_STATE权限;这是一个特权权限,只能授予设备上预加载的应用的权限。 <li>如果呼叫应用是完全托管设备的设备所有者、组织拥有设备的配置文件所有者或其代理人(请参阅 android.app.admin.DevicePolicyManager#getEnrollmentSpecificId())。 <li>如果呼叫应用具有运营商权限(请参阅 #hasCarrierPrivileges)。 <li>如果呼叫应用是默认短信角色持有者(请参阅 RoleManager#isRoleHeld(String))。 <li>如果已授予 Manifest.permission#USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER 调用应用的权限。 </ul>

如果调用应用不符合以下要求之一,则此方法的行为如下:

<ul><li>如果调用应用的目标 SDK 为 API 级别 28 或更低,并且应用具有READ_PHONE_STATE权限,则返回 null。</li li><>如果调用应用的目标 SDK 为 API 级别 28 或更低,并且应用没有READ_PHONE_STATE权限,或者调用应用面向 API 级别 29 或更高版本,则会引发 SecurityException。</li></ul>

适用于 . 的 android.telephony.TelephonyManager.getSubscriberId()Java 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于