下可能無法在仿真器正常工作..
TelephonyManager TelephonyMgr = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
String szImei = TelephonyMgr.getDeviceId(); // Requires READ_PHONE_STATE
現在有時它需要在那個時候,我們可以創建僞唯一的ID來獲得來自非電話設備(如平板電腦)的唯一編號,即適用於所有Android設備,並提供像IMIE這樣的獨特編號。以這種方式計算出的ID不會是唯一的:可以找到兩個具有相同ID的設備(基於相同的硬件和ROM映像),但實際應用中的可能性可以忽略不計。爲了這個目的,你可以使用生成類:
String PUID = Build.BOARD.length()%10+ Build.BRAND.length()%10 +
Build.CPU_ABI.length()%10 + Build.DEVICE.length()%10 +
Build.DISPLAY.length()%10 + Build.HOST.length()%10 +
Build.ID.length()%10 + Build.MANUFACTURER.length()%10 +
Build.MODEL.length()%10 + Build.PRODUCT.length()%10 +
Build.TAGS.length()%10 + Build.TYPE.length()%10 +
Build.USER.length()%10 ;
PUID將返回13個位數,我們增加了兩個在前面(35)具有相同的尺寸ID,如IMEI(15位)。
PUID = "35" + PUID;
很好的想法是,我們不需要使用上面的代碼添加READ_PHONE_STATE權限。
對於生成唯一編號的訪問pocket magic.
更多的幫助,您是否使用模擬器運行在模擬器?.. –
你在模擬器中進行測試這個程序?在模擬器上它會給出空指針。 – anujprashar
雅我在模擬器中測試。 – Siten