Skip to content

手机硬件检测

手机内部硬件众多,如何才能知道硬件的好坏呢,本文提供一种对手机内部硬件检测的方案 检测方式总体可以分为

  • 技术方案,通过代码实现
  • 工程方案,通过业务方法实现。在下方用括号包裹
  • 混合方案,混合使用技术和业务实现

实现

硬件部位权重AndroidIOSWeb
前置摄像头3(拍照)(拍照)(拍照)
后置摄像头3(拍照)(拍照)(拍照)
触控屏3(多点触控)(多点触控)(多点触控)
蓝牙2BluetoothAdapterCoreBluetoothBluetooth.getAvailability
Wifi2WifiManager + ConnectivityManagerNWPathMonitorNetworkInformation
人脸/Face ID2BiometricMangerLAContext
指纹2FingerPrintManagerLAContext
电池2BatteryManagerUIDeviceBatteryManager.getBattery
麦克风1AudioManager/(录音)AVAudioSession/(录音)navigator.mediaDevices
外置扬声器1AudioManager + (播放随机OTP)AVAudioSession + (播放随机OTP)(播放随机OTP)
听筒1AudioManager + (播放随机OTP)AudioManager + (播放随机OTP)
震动1(随机第N秒震动)(随机第N秒震动)(随机第N秒震动)
音量键1KeyDown + 音量变化监听音量变化监听keydown + 音量变化监听
渐进传感器1SensorManagerUIDeviceProximitySensor
加速度传感器1SensorManagerUIDeviceDeviceMotionEvent
闪光灯1(打开闪光灯拍照)(打开闪光灯拍照)
gps1LocationManagerCoreLocationnavigator.geolocation

评分

根据不同硬件的优先级给与不同的得分,然后综合所有检测项目,计算总得分,满分100

总权重 = 求和(权重)
总得分 = 求和(通过检测的项目权重) / 总权重 * 100

注意

本方案基于手机至少能够开机运行并且运行App或者打开浏览器的情况,所以CPURAM之类的,可以默认是正常的,故不需要检测。