最近在搞廣告平臺的插件,為瞭防止某些開發者在模擬機上刷數據,這就需要我們區分一下當前使用的是模擬機還是真機,在網上百度瞭一下,找到瞭一段代碼,簡單的測試瞭一下是可以達到我們的目的的(不過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–足跡