获取设备IMEI

8

如何以通用的方式获取Java ME设备的IMEI,适用于所有设备

4个回答

6
通常情况下,使用java.lang.System.getProperty()可以返回设备的IMEI号码。
不幸的是,获取IMEI需要使用的String参数会因手机制造商而异。
以下是一些可尝试的字符串:
imei phone.imei com.lge.imei com.nokia.imei com.nokia.mid.imei com.siemens.imei com.sonyericsson.imei com.motorola.imei ... 你明白的。
您可能需要将字符串的最后一部分大写。
结果的格式也可能会改变。 它可以是一个完整的带有"IMEI"前缀和 17 个数字中间有 3 个 "-" 的 IMEI 号码。 它可以是标准化的 13 或 15 位 IMEI 号码...

我已经尝试了所有8个字符串,但我总是得到Null,是否有完整的参考或库可以在任何移动设备上运行并解决这个问题? - Amira Elsayed Ismail

3

目前没有标准的方法可以通过Java ME获取IMEI。一些手机将IMEI作为系统属性公开,但其他手机不会或需要midlet签名到运营商或制造商域(即不是由你签名)。


2
在我正在开发的游戏中,为了获得每个手机的唯一标识(以便它们不能重复和共享存档文件),我使用蓝牙mac地址。对于每个单独的蓝牙设备,该地址是不同的,并且获取它的java代码在每个设备上都是相同的。 =D

2
谢谢你的回复,但是你需要在那部手机上支持蓝牙的JSR。 - Prabhu R

0

我已经尝试了ax和quickrecipeonsymbianos建议的方法,但它们都以优雅的方式解决了问题。然而,在黑莓中,我们有getDeviceID()来获取设备的唯一标识符,但Java ME缺少此功能。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接