在J2ME中生成唯一ID

时间:2012-07-20 18:42:26

标签: java-me registration uuid mac-address imei

我想为我的j2me应用程序的注册过程生成通用唯一ID。我遇到了以下方法

  1. 设备Getting IMEI and IMSI in Java ME的IMEI否此方法在大多数设备上不起作用。对于大多数模型而言,IMEI的问题并不容易从Midlet获得。

  2. 蓝牙设备地址Getting Bluetooth Address   问题需要支持蓝牙API,并且限制设备应用程序无法运行。

  3. UUID类   问题需要蓝牙API,因为它在javax.bluetooth包中同样的问题
  4. 我公司为其Android应用程序使用的注册过程如下

    1. 客户移动电话将使用短信
    2. 向公司发送IMEI号和公司提供的令牌
    3. 服务器将向客户移动设备发送许可证密钥,该密钥将存储在客户移动设备中
    4. 我必须遵循j2me应用的相同方法

      一种解决方案是通过SMS从服务器获取唯一ID。但公司使用上述注册程序。

      我是否可以使用其他approch注册我的申请,或者有任何方法可以克服上述问题。

2 个答案:

答案 0 :(得分:2)

我同意@funkybro,服务器提供的具有唯一ID的Jad密钥可以解决问题。但如果不可能,我会根据移动时间和哈希码创建一个id。

long time = System.currentTimeMillis();
StringBuffer id = new StringBuffer(Long.toString(time, 16).toUpperCase());
id.append(Integer.toHexString(new Object().hashCode()).toUpperCase());

如果此ID重复,则注册过程失败,并要求应用程序提供新ID。

答案 1 :(得分:1)

您可以在部署时在jad中放置服务器生成的唯一ID。