【发布时间】:2013-11-03 14:44:50
【问题描述】:
在 Android 上,要找出可用的系统功能,您可以执行以下操作:
PackageManager pm = getPackageManager();
for (FeatureInfo fi : pm.getSystemAvailableFeatures()) {
String feature_name = fi.name;
if(fi.name == null){
feature_name = "GlEs Version " + fi.getGlEsVersion();
}
Log.i("theTag", feature_name + "");
}
同样,要找出可用的传感器,您可以执行以下操作:
SensorManager sensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
List<Sensor> sensor_list = sensorManager.getSensorList(Sensor.TYPE_ALL);
for (Sensor s : sensor_list) {
Log.i("theTag", s.getName() + " - type: " + s.getType());
}
我的问题是 Android 如何知道 PackageManager 和 SensorManager 应该报告什么?设备制造商是否提供某种清单,或者系统是否轮询组件以查看可用的组件?如果发生冲突,两者哪个更权威?
【问题讨论】:
-
如果您真的想知道,请寻找来源——毕竟 Android 是开源的。
-
PackageManager和SensorManager之间可能存在什么冲突? -
我有一个设备报告 android.hardware.sensor.proximity 为假,但同时在查询 SensorManager 时命名一个接近传感器。
标签: android android-package-managers sensormanager