android區分模擬器和真機

最近在搞廣告平臺的插件,為瞭防止某些開發者在模擬機上刷數據,這就需要我們區分一下當前使用的是模擬機還是真機,在網上百度瞭一下,找到瞭一段代碼,簡單的測試瞭一下是可以達到我們的目的的(不過LD說這種方式不行,有漏洞),所以我先把我的代碼貼一下,坐等我LD的方案。

 

獲取手機的設備編號,模擬機的是000000000000000

[java]TelephonyManager telmgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);  
       String deviceID = telmgr.getDeviceId();  
       boolean isEmulator = "000000000000000".equalsIgnoreCase(deviceID);  
       if (isEmulator) {  
         Log.i("xml","模擬器deviceID:"+deviceID); 
       }  
       else {  
         Log.i("xml","真機deviceID:"+deviceID); 
       }  
 TelephonyManager telmgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
        String deviceID = telmgr.getDeviceId();
        boolean isEmulator = "000000000000000".equalsIgnoreCase(deviceID);
        if (isEmulator) {
          Log.i("xml","模擬器deviceID:"+deviceID);
        }
        else {
          Log.i("xml","真機deviceID:"+deviceID);
        } 
返回的唯一的設備ID,例如,GSM和CDMA手機的ESN,MEID,或IMEI號。如果設備ID是沒有返回null。

需要權限:READ_PHONE_STATE

 

摘自 agods–足跡

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *