0

我正在检查一个 Cordova 应用程序,该应用程序对免费的开放式 REST API 进行 API 调用。在其中一个 POST 请求中,它以 JSON 对象的形式发送设备 ID。Cordova 应用程序中的设备 ID 使用以下方式获取:

this.device.uuid;

我计划使用 Java 构建相同的应用程序,因此需要访问该设备 ID 才能进行 API 调用。我尝试使用以下代码做同样的事情。

TelephonyManager tManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String uuid = tManager.getDeviceId();

但我意识到我需要访问 Manifest 文件中的 READ_PRIVILEGED_PHONE_STATE 但这只能通过 System App 而不是第三方应用程序访问。那么这个 Cordova 应用程序是如何访问它的呢?

PS - this.device.uuid;Cordova 应用程序可能不会返回我的想法。因此,我将向您展示我手机的设备 ID,您可以通过它了解这是什么以及如何使用 Java 在 Android 中访问它。Cordova 应用程序正在获取的设备 ID - 29904bc142b60dce(不会更改)

4

1 回答 1

0

我上面提到的代码现在已被弃用。使用以下代码:

String device_id = Settings.Secure.getString(this.getContentResolver(), Settings.Secure.ANDROID_ID);

此外,在 Android M 之后;每个其他应用程序都有不同的设备 ID。这是我无法弄清楚的,并且正在打我的头。与我正在与之比较的应用程序相比,我开发的应用程序具有其他一些设备 ID。因此,不要期望同一设备中的两个不同应用程序具有相同的设备 ID。

于 2020-12-30T09:17:00.567 回答