【问题标题】:Generating unique id in J2ME在 J2ME 中生成唯一 ID
【发布时间】:2012-07-20 01:46:51
【问题描述】:

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

  1. 设备的IMEI 编号Getting IMEI and IMSI in Java ME 这种方法不适用于大多数设备。对于大多数型号来说,从 Midlet 获取 IMEI 的问题并不容易。

  2. 蓝牙设备地址Getting Bluetooth Address 问题 需要蓝牙 API 支持,并且会限制应用程序可以在其上运行的设备数量。

  3. UUID 类 问题需要蓝牙 API,因为它在 javax.bluetooth 包中的问题相同

我公司为他们的android应用程序使用的注册过程如下

  1. 客户手机会通过短信将IMEI号码和公司提供的Token发送到服务器
  2. 服务器将向客户手机发送许可证密钥,该密钥将存储在客户手机中

对于 j2me 应用程序,我必须遵循相同的方法

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

是否有任何其他方法可以用于注册我的应用程序,或者有什么方法可以克服上述问题。

【问题讨论】:

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


    【解决方案1】:

    我同意 @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。

    【讨论】:

    • 谢谢!优雅的解决方案。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-22
      • 1970-01-01
      • 2015-09-25
      相关资源
      最近更新 更多