Stephen J Fuhry created CB-1047:
-----------------------------------
Summary: Android UUID can sometimes be undefined (or otherwise not
unique) because of limitations in ANDROID_ID
Key: CB-1047
URL: https://issues.apache.org/jira/browse/CB-1047
Project: Apache Cordova
Issue Type: Wish
Components: Android
Affects Versions: 1.9.0
Reporter: Stephen J Fuhry
Assignee: Joe Bowser
There are many documented situations where the following does not really return
a unique identifier ([link to cordova
source|https://git-wip-us.apache.org/repos/asf?p=incubator-cordova-android.git;a=blob;f=framework/src/org/apache/cordova/Device.java#l173]):
{code:java}
android.provider.Settings.Secure.ANDROID_ID
{code}
Would it make sense to implement a solution like this?
http://android-developers.blogspot.com/2011/03/identifying-app-installations.html
see also: http://stackoverflow.com/a/2853253/111033
I've used the above mentioned solution in native Android applications without
issue.
It *might* make sense to offer this as a value completely separate from
device.uuid.. there are many reports that some hardware vendors are actually
populating ANDROID_ID with a manufacturer ID (i.e. ANDROID_ID returns a value,
but it is not unique between devices of the same make / model! How deceptive.).
Perhaps it could be offered as:
{code:javascript}
device.install_id
{code}
or something so that developers could opt-in to use it? This way it wouldn't
break BC for those who are interested in maintaining device or install ids from
previous versions. Then, you could get a guaranteed unique id by doing:
{code:javascript}
var deviceId = (device.install_id === null ? device.uuid : device.install_id);
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira