Android Question Get AndroidId B4X vs JAVA

netsistemas

Active Member
Licensed User
Longtime User
Another developer uses java to get the AndroidId with this statement,

CODIGO JAVA:
B4X:
androidd = android.provider.Settings.Secure.getString(getContentResolver(), android.provider.Settings.Secure.ANDROID_ID)


while I use this other one.

B4X FUNCION (only use getsetting one time in my app, move valur to public var v_AndroidId)
B4X:
public Sub GetAndroidId() As String
    Dim p As Phone
    'tags: Perminal dispositivo
    'Terminal para la tabla TerminalesApp
    If V_AndroidId = "" Then
        V_AndroidId = P.GetSettings("android_id")
    End If
    Return V_AndroidId
End Sub


Should it return the same value?

I say this because it seems that in some cases it does not match. It seems that this number was one when I installed an application, and another at this time, which puzzles us.
 
Yes, it is possible the id changes, because it is generated from at least 3 inputs to ensure privacy i think.

From android developer:

On Android 8.0 (API level 26) and higher versions of the platform, a 64-bit number (expressed as a hexadecimal string), unique to each combination of app-signing key, user, and device. Values of ANDROID_ID are scoped by signing key and user. The value may change if a factory reset is performed on the device or if an APK signing key changes. For more information about how the platform handles

Note: For apps that were installed prior to updating the device to a version of Android 8.0 (API level 26) or higher, the value of ANDROID_ID changes if the app is uninstalled and then reinstalled after the OTA. To preserve values across uninstalls after an OTA to Android 8.0 or higher, developers can use Key/Value Backup.
 
Upvote 1
And what function can I use in java and b4x that returns the same id?
or will it not be possible? (i think this, beacuse aap-signing key are diferrent in one app and in other. or... umm... sign with same signkey..)
 
Upvote 0
And what function can I use in java and b4x that returns the same id?
or will it not be possible? (i think this, beacuse aap-signing key are diferrent in one app and in other. or... umm... sign with same signkey..)

Android will not give any ID that can be tracked, you have to develop a method by yourself, take a look at the developer guidelines.
 
Upvote 0
Back
Top