android如何獲取設備的惟一設備碼

    在某些項目中,須要記錄用戶的某些設置,或行爲,並上傳到服務器,若是無需用戶登陸註冊,就可記錄獨立這些內容,就須要用到設備的某些獨立的序列。(如下部分android須要API8以以上,android2.3測試成功) android

   首先,先想一想能夠從哪些方面能夠入手, 服務器

1手機號碼,2手機MIUI號,3設備的序列號,4wifi的mac碼,5最後一種辦法就只能使用UUID dom

   在獲取某些手機信息時須要某些權限的 測試

1首先,添加權限: ui

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

有了權限以後才能使用 TelephonyManager ,否則會報沒有權限的錯誤。 spa

TelephonyManager telephonyManager = (TelephonyManager)this.getSystemService( Context.TELEPHONY_SERVICE);  get

        //獲取本機MIEI號碼(僅手機存在)
        String deviceId = telephonyManager.getDeviceId();
        //獲取設備序列號
        String sn =  telephonyManager.getSimSerialNumber();
        //獲取本機電話號碼
        String phonenumber = telephonyManager.getLine1Number();
io

獲取wifi的mac碼須要添加劑權限 登錄

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

        WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
        WifiInfo info = wifi.getConnectionInfo();
         //獲取wifi設備的mac碼
        String mac = info.getMacAddress();

獲取本機號碼:

        //獲取本機型號
        String phonetype = android.os.Build.MODEL;

隨機數:
        //隨機數

        String uuid = UUID.randomUUID();

相關文章
相關標籤/搜索