2012-01-06 226 views
0

我有一个市场上的应用程序。当你开始播放你的设备ID时,你的帐户被链接到你的帐户,所以你不必手动登录。一段时间以来,一些人遇到了问题。他们开始登录到不同的账户。什么似乎是问题是有些设备在询问设备ID时会给出一个空值。有了一些空设备ID的帐户,人们登录到不同的帐户。Android设备可以开始为设备ID提供空值吗?

我看到有些设备会这样做。但似乎在帐户创建过程中没有问题,然后玩了一段时间。

我知道这不是最好的方法,谷歌不鼓励使用设备id,因为他们可以更改织物重置。

设备出于某种原因可以停止提供其ID(除了光纤重置)? 任何人都知道一种不同的方式来识别用户与他需要登录或密码?

回答

1

是有些手机在他们的错误识别的设备,他们将返回NULL为Android ID的方式。我想如果你想继续使用它们,你总是需要一种方法将手机绑定到账户,电子邮件,用户名。这样,如果Android ID无法识别,他们可以使用他们的电子邮件或用户名和密码将其重新关联。如果您没有购买新手机,并且需要恢复帐户的方式,您总会遇到问题。

更好的选择是每个Android手机都附加到Google帐户。使用AccountManager类,您可以使用这些凭据自动向您的软件进行身份验证,并且用户不必输入用户名/密码。并且你集中了他们的身份。此外,使用此方法,您也不需要额外的权限来读取可能存在安全问题的数据。

+0

如果有人出售设备或丢失设备,我们可以选择恢复帐户。 嗯我正在考虑谷歌账户,但我没有做这项研究。其他方法是在服务器上生成一个id,然后将其保存在设备上的应用程序中。如果用户卸载它或丢失设备帐户恢复选项应该做的伎俩。 – 2012-01-06 18:01:35

0

我面临同样的问题在我的情况下,当第一次安装应用程序它是给空ID。但在此之后,它给我所有三个IMEI,ANDROID_ID和deviceID。

顺便说一句,你可以在这里找到

http://innovator.samsungmobile.com/cms/cnts/knowledge.detail.view.do?platformId=1&cntsId=9640

+0

我在这里阅读了类似的文字:http://android-developers.blogspot.com/2011/03/identifying-app-installations.html – 2012-01-06 18:04:19

+0

也注意到随机数可以是唯一的解决方案。在安装时生成随机数(足够大)并将其存储在数据库中。 – Sunny 2012-01-07 04:38:30

+0

和我的问题得到解决有代码中的一些错误。 Android_id是识别设备的好选择。 – Sunny 2012-01-07 05:39:28

0

另外一些研究原型试图阻止手机收集这些信息。

1

您可以在用户安装您的应用程序后创建一个随机的UUID。

请勿使用硬件ID,因为在每种类型的Android设备中都不能找到所有类型的硬件。不使用它们的另一个原因是,如果有人出售他的手机,用户会改变,但设备ID不是!这有严重的隐私和可用性影响,你不想拥有。

查看会话Android Protips(来自google io 2011)。在15:00调入以查看更多原因以及如何为您的用例使用随机UUID的详细说明。

+0

谢谢你的提示。将不得不考虑什么会更容易UUID或尝试使用谷歌帐户。 – 2012-01-06 18:05:33