如何像其他一些 Cordova 应用程序一样使用 Java 获取 android 的 uuid?

How to get uuid of android with Java as some other Cordova app did?

我正在检查一个 Cordova 应用程序,该应用程序 API 调用免费开放的 REST 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,但这只能通过系统应用程序而不是第三方应用程序访问。那么这个 Cordova 应用程序如何访问它?

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

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

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

另外,在AndroidM之后;每个其他应用程序都有不同的设备 ID。这是我无法弄清楚的,并且正在击败我的头。与我与之比较的应用程序相比,我开发的应用程序有一些其他设备 ID。所以不要指望同一台设备中的两个不同应用程序具有相同的设备 ID。