Build.GetSerial 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取硬件序列号(如果可用)。
[Android.Runtime.Register("getSerial", "()Ljava/lang/String;", "", ApiSince=26)]
[Android.Runtime.RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE")]
public static string? GetSerial ();
[<Android.Runtime.Register("getSerial", "()Ljava/lang/String;", "", ApiSince=26)>]
[<Android.Runtime.RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE")>]
static member GetSerial : unit -> string
返回
指定的序列号。
- 属性
注解
获取硬件序列号(如果可用)。
<p class=“note”><b>Note:</b> Root access 可能允许修改设备标识符,例如硬件序列号。 如果更改这些标识符,则无法使用密钥证明来获取设备原始标识符的证明。 如果框架提供的标识符与预配的标识符不匹配,KeyMint 将拒绝 ID 证明请求。
从 API 级别 29 开始,永久性设备标识符受到其他限制保护,建议应用使用可重置标识符(请参阅唯一标识符的最佳做法)。 如果满足以下要求之一,则可以调用此方法: <ul><li>如果已向调用应用授予READ_PRIVILEGED_PHONE_STATE权限;这是一个特权权限,只能授予设备上预加载的应用的权限。 <li>如果呼叫应用具有任何活动订阅的运营商权限(请参阅 android.telephony.TelephonyManager#hasCarrierPrivileges
)。 <li>如果呼叫应用是默认短信角色持有者(请参阅 android.app.role.RoleManager#isRoleHeld(String)
)。 <li>如果呼叫应用是完全托管设备的设备所有者、组织拥有设备的配置文件所有者或其代理人(请参阅 android.app.admin.DevicePolicyManager#getEnrollmentSpecificId()
)。 </ul>
如果调用应用不符合以下要求之一,则此方法的行为如下:
<ul><li>如果调用应用的目标 SDK 为 API 级别 28 或更低,并且应用具有READ_PHONE_STATE权限,则Build#UNKNOWN
返回该应用。</li li><>如果调用应用的目标 SDK 为 API 级别 28 或更低,并且应用没有READ_PHONE_STATE权限,或者调用应用面向 API 级别 29 或更高版本,则会引发 SecurityException。</li></ul>
适用于 . 的 android.os.Build.getSerial()
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。