[英]How check if a specific sensor exists on a device?
我正在開發一個使用傳感器的 android 應用程序,我想知道檢測設備是否具有特定傳感器的最佳方法,比如接近傳感器。
此外,是否有任何“過濾器”可以應用於清單,因此其設備上沒有接近傳感器的用戶將無法安裝該應用程序? 如果存在,此“過濾器”在 Google Play 上是否也有效,因此用戶將無法看到該應用程序?
這很可能是您在以編程方式檢查功能時正在尋找的內容
PackageManager PM= this.getPackageManager();
boolean gps = PM.hasSystemFeature(PackageManager.FEATURE_LOCATION_GPS);
boolean acc = PM.hasSystemFeature(PackageManager.FEATURE_SENSOR_ACCELEROMETER);
此鏈接解釋了您可以如何在市場中過濾您的應用程序,請具體查看部分
檢查特定傳感器:
public String getSystemInfo(PackageManager pm/* activity.getPackageManager() */) {
return ""
+ "\nSDK: " + Build.VERSION.SDK_INT
+ "\nMODEL: " + Build.MODEL
+ "\nBrand: " + Build.BRAND
+ "\nManufacture: " + Build.MANUFACTURER
+ "\nAndroid Version: " + Build.VERSION.RELEASE
+ "\nSen-Fingerprint: " + hasFP()
+ "\nSen-Light: " + hasSen(pm, PackageManager.FEATURE_SENSOR_LIGHT)
+ "\nSen-Compass: " + hasSen(pm, PackageManager.FEATURE_SENSOR_COMPASS)
+ "\nSen-Proximity: " + hasSen(pm, PackageManager.FEATURE_SENSOR_PROXIMITY)
+ "\nSen-ECG(API 21): " + hasSen(pm, PackageManager.FEATURE_SENSOR_HEART_RATE_ECG)
+ "\nSen-Temp(API 21): " + hasSen(pm, PackageManager.FEATURE_SENSOR_AMBIENT_TEMPERATURE)
+ "\nSen-Accelerometer: " + hasSen(pm, PackageManager.FEATURE_SENSOR_ACCELEROMETER)
+ "\nSen-Humidity(API 21): " + hasSen(pm, PackageManager.FEATURE_SENSOR_RELATIVE_HUMIDITY)
+ "\nSen-Gyroscope(API 9): " + hasSen(pm, PackageManager.FEATURE_SENSOR_GYROSCOPE)
+ "\nSen-Barometer(API 9): " + hasSen(pm, PackageManager.FEATURE_SENSOR_BAROMETER)
+ "\nSen-HeartRate(API 20): " + hasSen(pm, PackageManager.FEATURE_SENSOR_HEART_RATE)
+ "\nSen-StepCounter(API 19): " + hasSen(pm, PackageManager.FEATURE_SENSOR_STEP_COUNTER)
+ "\nSen-StepDetector(API 19): " + hasSen(pm, PackageManager.FEATURE_SENSOR_STEP_DETECTOR);
}
public boolean hasFP() {
return (Build.FINGERPRINT != null && !Build.FINGERPRINT.equals(""));
}
public boolean hasSen(PackageManager packageManager, String sensor) {
try {
return packageManager.hasSystemFeature(sensor);
} catch (Exception ignored) {
return false;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.