Android 安卓:PackageManager和SensorManager从哪里获得信息?
在Android上,要了解可用的系统功能,您可以执行以下操作:Android 安卓:PackageManager和SensorManager从哪里获得信息?,android,android-package-managers,sensormanager,Android,Android Package Managers,Sensormanager,在Android上,要了解可用的系统功能,您可以执行以下操作: PackageManager pm = getPackageManager(); for (FeatureInfo fi : pm.getSystemAvailableFeatures()) { String feature_name = fi.name; if(fi.name == null){ feature_name = "GlEs Version " + fi.getGlEsVersion()
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());
}
同样,要找到可用的传感器,您可以执行以下操作:
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());
}
SensorManager SensorManager=(SensorManager)getSystemService(SENSOR\u SERVICE);
List sensor\u List=sensorManager.getSensorList(sensor.TYPE\u ALL);
用于(传感器:传感器列表){
Log.i(“theTag”,s.getName()+”-type:+s.getType());
}
我的问题是Android如何知道PackageManager和SensorManager应该报告什么?设备制造商是否提供某种清单,或者系统是否轮询组件以查看可用的组件?在发生冲突时,两者中哪一个更具权威性?Android是一堆软件和固件,包括操作系统、内置应用程序和系统服务 我们可以编写自己的服务,为应用程序提供一些数据。像wise一样,我们可以使用系统服务为我们提供一些数据。这就是为什么有一个调用
SensorManager SensorManager=(SensorManager)getSystemService(SENSOR\u SERVICE)代码>
HAL报告设备上所有传感器的列表
实施
发件人:
HAL(硬件抽象层)从驱动程序获取信息,驱动程序从传感器集线器获取信息
在官方页面上阅读更多关于Android传感器堆栈的信息:如果你真的想知道,请查找源代码–毕竟Android是开源的。PackageManager
和SensorManager
之间可能存在什么冲突?我有一台设备报告Android.hardware.Sensor.approxity为false,但在查询SensorManager时,同时命名接近传感器。