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



我正在检查一个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应用程序是如何访问的?

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

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

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

此外,Android M之后;每个其他应用程序都有不同的设备ID。这是我想不出来的,我一直在摇头。与我正在比较的应用程序相比,我开发的应用程序有一些其他设备Id。因此,不要期望同一设备中的两个不同应用程序具有相同的设备ID。

最新更新