系統(tǒng)檢測:
IMEI 等×
優(yōu)點:簡單方便
缺點:模擬器一般都對這部分進行處理
手機號碼×
手機號碼在6.0后需要申請權(quán)限拒担,敏感度太高,且不一定獲取到肋演。
硬件檢測
電池☆
對電池電量,充電狀態(tài),溫度等
一般模擬器對此并未處理将鸵,可靠度較高。
需要輪詢處理佑颇,非及時顶掉,未來模擬器有可能對此進行修改。
mac地址×
優(yōu)點:利用mac地址唯一性
缺點:模擬器可以模擬
wifi ☆
優(yōu)點:連接wifi的情況下挑胸,AS模擬器顯示 『wlan0 Link encap:UNSPEC』 未指定網(wǎng)卡類型痒筒,而真機情況下是『wlan0 Link encap:Ethernet』以太網(wǎng)。
缺點:只能在使用wifi情況下茬贵,非wifi情況下簿透,該值都拿不到。
藍牙 ☆
模擬器可以模擬擁有藍牙設(shè)備
在未開啟藍牙的情況下, 但是獲取到藍牙的地址和名字為null,部分模擬器可能對此進行處理解藻。
如開啟藍牙老充,需要權(quán)限申請,不建議進行此操作螟左。
手機是可以獲取到對應(yīng)藍牙相關(guān)啡浊。
相機×
夜神可以打開筆記本攝像頭,臺式機暫時不可知路狮。
Gps×
模擬器支持虛擬定位虫啥,且6.0以后需要申請權(quán)限,海外包也不許定位奄妨。
傳感器數(shù)量 ★★★
模擬器能模擬的傳感器數(shù)量一般無法超過10,而一般手機傳感器數(shù)量大于20涂籽。
小米mix2s傳感器數(shù)量為48, 魅族6為16。
夜神模擬器 傳感器數(shù)量 7砸抛。
分別為
Invensense Accelerometer (加速傳感器)
Orientation Sensor (方位傳感器)
Gyroscope (陀螺儀)
AK8963 Magnetometer (磁場傳感器)
Gravity Sensor (重力傳感器)
Rotation Vector Sensor(旋轉(zhuǎn)矢量傳感器)
Linear Acceleration Sensor(線性加速傳感器)
HARDWARE和BOARD×
模擬器會返回自己模擬對象的參數(shù)评雌。
特定硬件傳感器 ★★★
全部類型見尾部代碼。
模擬器暫時無法模仿的傳感器
光傳感器
Sensor.TYPE_LIGHT
臨近傳感器
TYPE_PROXIMITY
計步器
TYPE_STEP_COUNTER
預(yù)裝app數(shù)量判斷×
部分模擬器系統(tǒng)預(yù)裝數(shù)量也不少直焙,只能僅供參考 景东。
總結(jié):
建議 首先使用傳感器數(shù)量和特定傳感器進行 可疑性判斷
藍牙, wifi, 電池 可以作為 輔助數(shù)據(jù)進行監(jiān)聽。
附加傳感器類型代碼
public String getSensorTypeName(int type) {
switch (type) {
case Sensor.TYPE_ACCELEROMETER:
return "加速度傳感器";
case Sensor.TYPE_GYROSCOPE:
return "陀螺儀傳感器";
case Sensor.TYPE_LIGHT:
return "環(huán)境光線傳感器";
case Sensor.TYPE_MAGNETIC_FIELD:
return "電磁場傳感器";
case Sensor.TYPE_ORIENTATION:
return "方向傳感器";
case Sensor.TYPE_PRESSURE:
return "壓力傳感器";
case Sensor.TYPE_PROXIMITY:
return "距離傳感器";
case Sensor.TYPE_TEMPERATURE:
return "溫度傳感器";
case Sensor.TYPE_GRAVITY:
return "重場傳感器";
case Sensor.TYPE_LINEAR_ACCELERATION:
return "線性加速度傳感器";
case Sensor.TYPE_ROTATION_VECTOR:
return "旋轉(zhuǎn)矢量傳感器";
case Sensor.TYPE_RELATIVE_HUMIDITY:
return "濕度傳感器";
case Sensor.TYPE_AMBIENT_TEMPERATURE:
return "溫度傳感器";
case Sensor.TYPE_GAME_ROTATION_VECTOR:
return "游戲旋轉(zhuǎn)矢量傳感器";
case Sensor.TYPE_STEP_COUNTER:
return "計步器";
case Sensor.TYPE_GEOMAGNETIC_ROTATION_VECTOR:
return "地磁旋轉(zhuǎn)矢量傳感器";
case Sensor.TYPE_SIGNIFICANT_MOTION:
return "特殊動作觸發(fā)傳感器";
default:
return "未知傳感器";
}
}