为了账号安全,请及时绑定邮箱和手机立即绑定

android设备唯一id

标签:
Android

唯一设备id这个问题也是困扰了我很久,综合stackoverflow的一些思路,形成适合自己的并且可用的解决方案。仅供参考

主要思路参考http://stackoverflow.com/questions/2785485/is-there-a-unique-android-device-id

方向就是获取设备基本不变的一些参数,揉合成一个串号,当然百度推送生成的串号感觉也是唯一的且不会发生变化,具体他们的方案我还没研究过,有兴趣的可以自行研究一下。

[代码]java代码:

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

TelephonyManager tm = (TelephonyManager)   context.getSystemService(Context.TELEPHONY_SERVICE);

      String   deviceId =null,  androidId = null, mac= null, serial= null ;

 

      WifiManager   wifiMan = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);

 

      try {

          if (PackageManager.PERMISSION_GRANTED ==   context.getPackageManager()

                  .checkPermission(Manifest.permission.READ_PHONE_STATE,

                          context.getPackageName()))   {

 

              deviceId   = tm.getDeviceId();

 

          }

          androidId   =    android.provider.Settings.Secure.getString(context.getContentResolver(),

                  android.provider.Settings.Secure.ANDROID_ID);

 

          mac=wifiMan.getConnectionInfo().getMacAddress();

 

          Class<!--?-->   c = Class.forName("android.os.SystemProperties");

          Method   get = c.getMethod("get", String.class, String.class );

          serial   = (String) get.invoke(c, "ro.serialno", "unknown" );

      } catch (Exception e) {

          e.printStackTrace();

      }

      if(TextUtils.isEmpty(deviceId   )&& TextUtils.isEmpty(androidId)

              &&TextUtils.isEmpty(mac)&&TextUtils.isEmpty(serial)){

          return UUID.randomUUID().toString();

      }

      

      UUID   deviceUuid = new UUID(androidId.hashCode(), deviceId .hashCode()|   mac.hashCode()|serial.hashCode());

      String   uniqueId = deviceUuid.toString();

 

      return uniqueId;

原文链接:http://www.apkbus.com/blog-35555-68601.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消