在开发手机应用时,开发者最关心的是开发的手机软件有多少用户安装,并且正在使用。这就需要识别手机的唯一性。目前我了解的有两种方法,

  获取手机的imei号(imei号是唯一识别手机的号码)。

  获取android id号(android id 是手机系统的唯一号码)。

  第一种方法:

  android获取手机imei号的方法在在android系统中获取imei号和其他手机信息一文中做了详细的介绍。其中android在 2.0以上的版本中,获取手机imei号已经不需要相应的读取手机信息的权限了。

  < uses-permission android:name="android.permission.READ_PHONE_STATE" />

  但是目前1.6以下的版本用户占用户的近50%,如果想要让1.6以下版本的用户也可以获取imei号,那就要添加权限。

  好处是唯一标识手机,缺点是可能需要相应的用户权限。

  第二种方法:

  可以获取android id号,如果一个手机设备第一次启动随即产生的一个数字,如果系统改变,该号可能会改变。

  android id号解释:http://androidappdocs-staging.appspot.com/reference/android /provider/Settings.Secure.html#ANDROID_ID

  获取方法:

  String t=android.provider.Settings.System.getString(getContentResolver(), "android_id");

  Log.i("huilurry","android_id="+t);

  Ms测试结果:

  07-13 13:12:49.835: INFO/huilurry(17455): android_id=20014289e714f20c

  好处是所有版本都试用,缺点是可能会和其他机子重复或本机改变。via:http://wangjun.easymorse.com /?p=665

1、如何获取Android手机的唯一标识推荐解答:
是说IMSI吗?Google一下就找 到了
2、如何获取Android手机的唯一标识推荐解答:
http://android.tgbus.com/Android/androidnews/200901/173946.shtml
3、
获取IMEI是把,telephonypackage的TelephonyManager类的getDeviceId() 方法

帮你找了

代码: 这里是你在Android里读出 唯一的 IMSI-ID / IMEI-ID 的方法。
Java:
String myIMSI = android.os.SystemProperties.get(android.telephony.TelephonyProperties.PROPERTY_IMSI);
// within my emulator it returns: 310995000000000

String myIMEI = android.os.SystemProperties.get(android.telephony.TelephonyProperties.PROPERTY_IMEI);
// within my emulator it returns: 000000000000000

http://android.tgbus.com/Android/androidnews/200901/173946.shtml

这段代码可以获取手机号码:
TelephonyManager telephonyMgr = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
return telephonyMgr.getLine1Number();

不过没有在真机上试过,不知道能不能行,而且移动会不会开放给开发者。

获得IMSI/IMEI(SIM和手机的唯一识别ID)

<!-- 正文开始-->

  学习内容: 你将学到如何读出你手机里的SIM卡的IMSI (国际移动用户ID) 和IMEI (国际移动设备ID). IMSI 与 SIM唯一对应, IMEI 与 设备唯一对应.

  可能应用的场合: 你可能需要 唯一的id 去授权/注册,或者用于你的Android-Activity的license目的 下面的两行代码将会使你获得SIM卡唯一 ID IMSI 和设备唯一ID IMEI

  描述:
  IMSI是一个 唯一的数字, 标识了GSM和UMTS 网络里的唯一一个用户. 它 存储 在手机的SIM卡里,它会通过手机发送到网络上.

  IMEI也是一串唯一的数字, 标识了 GSM 和 UMTS网络里的唯一一个手机. 它通常被打印在手机里电池下面的那一面,拨 *#06# 也能看到它.

  代码: 这里是你在Android里读出 唯一的 IMSI-ID / IMEI-ID 的方法。
Java:
String myIMSI = android.os.SystemProperties.get(android.telephony.TelephonyProperties.PROPERTY_IMSI);
// within my emulator it returns: 310995000000000

String myIMEI = android.os.SystemProperties.get(android.telephony.TelephonyProperties.PROPERTY_IMEI);
// within my emulator it returns: 000000000000000

更多相关文章

  1. android控件的监听绑定方法
  2. 全面的Android文件目录解析和获取方法(包含对6.0系统的说明)
  3. Android官方的文档中提到了模拟器中设置代理服务器的方法,即在命
  4. 如何向Android的framework里添加新类 &&& android修改开放类方法
  5. Android swap分区作用及swapper软件设置方法
  6. 谷歌Android手机应用开发环境的搭建
  7. Android手机可返回主界面的可移动浮动小窗口
  8. android Matrix处理图片原理及方法整理

随机推荐

  1. Android应用开发相关下载资源(2013/03/22
  2. Android(安卓)error: Failed to install
  3. Android的Notification研究
  4. Android(安卓)UI设计系统-android select
  5. Android学习笔记之mainfest文件中android
  6. Android(安卓)用户界面
  7. Ubuntu编译Android整个系统以及编译指定
  8. Android中使用Intent实现界面跳转
  9. android界面开发小结——android笔记---
  10. 关于android.R.id.text1