如何获取设备的IMEI?

问题描述 投票:0回答:3

我是android开发的初学者,我尝试获取设备IMEI,但我有权限问题。

我的项目中没有

android.permission.READ_PRIVILEGED_PHONE_STATE
属性,但
getImei()
的函数
TelephonyManger.java
需要此权限。

我该如何解决这个问题?我有点失落。

android android-studio kotlin telephonymanager
3个回答
0
投票

尝试在 kotlin 中使用以下代码。

val telephonyManager = getSystemService(Context.TELEPHONY_SERVICE) as
     TelephonyManager
     if (ActivityCompat.checkSelfPermission(this@MainActivity,
     Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(this@MainActivity,
        arrayOf(Manifest.permission.READ_PHONE_STATE), REQUEST_CODE)
        return@setOnClickListener
     }  
     IMEINumber = telephonyManager.deviceId
     

此链接会有帮助。 如何在android中以编程方式获取设备的IMEI/ESN?


0
投票

答案是悲伤的。 我们不能

就像 @Nitsh 所说,

READ_PRIVILEGED_PHONE_STATE
权限仅授予使用平台密钥签名的应用程序和特权系统应用程序”


0
投票

代码无法运行 android 13。还有其他解决方案吗?

© www.soinside.com 2019 - 2024. All rights reserved.