zoukankan      html  css  js  c++  java
  • Android手机获取手机唯一识别号(转)

    写在前面,发这个帖我想,可能很多人用不到,那你就当科普了解了,其实每个游戏,软件都会获取你的imei
    废话不说,开始!
    在开发手机应用时,开发者最关心的是开发的手机软件有多少用户安装,并且正在使用。这就需要识别手机的唯一性。目前我了解的有两种方法,获取手机的 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号,那就要添加权限。
      好处是唯一标识手机,缺点是可能需要相应的用户权限。

    String myIMSI = android.os.SystemProperties.get(android.telephony.TelephonyProperties.PROPERTY_IMSI);
    String myIMEI = android.os.SystemProperties.get(android.telephony.TelephonyProperties.PROPERTY_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
    3、获取IMEI是把,telephonypackage的TelephonyManager类的getDeviceId() 方法
    获得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);
             String myIMEI = android.os.SystemProperties.get(android.telephony.TelephonyProperties.PROPERTY_IMEI);

    如何使用android.os.SystemProperties

    1. 在你的项目Alt+Enter, 选Java build path

    2. 在libraries加入layoutlib.jar。layoutlib.jar可以在sdk找到,如platformsandroid-7datalayoutlib.jar

    3. 在Order and Export把layoutlib.jar勾

    4. 在code可以

            import android.os.SystemProperties;

    如果Android Pad没有IMEI,用此方法获取设备ANDROID_ID:

    String android_id = Secure.getString(this.getContentResolver(),Secure.ANDROID_ID);

  • 相关阅读:
    TCP/IP:IP的分片与重装
    TCP/IP:IP选项处理
    TCP/IP:IP多播选路
    TCP/IP:IGMP Internet组管理协议
    TCP/IP 插口选项
    TCP/IP: 插口I/O
    TCP/IP 插口层
    leetcode136只出现一次的数字
    leetcode268缺失数字
    letecode242有效字母的异位词
  • 原文地址:https://www.cnblogs.com/xin36933/p/3726010.html
Copyright © 2011-2022 走看看