Java 通用传感器名称
有没有办法获得传感器的通用名称?目前,我的应用程序允许用户从列表视图中选择传感器。根据传感器的不同,应用程序应执行各种操作 我尝试使用switch case语句并使用传感器的名称作为参数来实现这一点。但是由于传感器的名称是特定于我的手机型号的,所以这种情况在其他手机上不起作用 例如,“三星重要运动传感器”不会触发nexus手机中的运动传感器 我尝试使用getType()来获取传感器的类型。但并不是所有的传感器都有一个类型 因此,我的问题是:有没有一种方法可以在所有手机上获得传感器的名称Java 通用传感器名称,java,android,sensors,android-sensors,Java,Android,Sensors,Android Sensors,有没有办法获得传感器的通用名称?目前,我的应用程序允许用户从列表视图中选择传感器。根据传感器的不同,应用程序应执行各种操作 我尝试使用switch case语句并使用传感器的名称作为参数来实现这一点。但是由于传感器的名称是特定于我的手机型号的,所以这种情况在其他手机上不起作用 例如,“三星重要运动传感器”不会触发nexus手机中的运动传感器 我尝试使用getType()来获取传感器的类型。但并不是所有的传感器都有一个类型 因此,我的问题是:有没有一种方法可以在所有手机上获得传感器的名称 swit
switch(sensorName){
case "K330 3-axis Accelerometer":
Toast.makeText(getActivity(),"Case 1: "+ sensorName, Toast.LENGTH_SHORT).show();
break;
case "YAS532 Magnetic Sensor":
Toast.makeText(getActivity(), "Case 2: "+sensorName, Toast.LENGTH_SHORT).show();
break;
case "K330 Gyroscope sensor":
Toast.makeText(getActivity(),"Case 3: "+ sensorName, Toast.LENGTH_SHORT).show();
break;
case "Barometer Sensor":
break;
case "MAX88920 Proximity Sensor":
break;
case "CM3323 RGB Sensor":
break;
case "SAMSUNG Significant Motion Sensor":
break;
default:
break;
}
您可以尝试只检查
sensorName
是否包含诸如“加速计”、“运动传感器”等流行语
这只是一个简单的想法,而不知道传感器名称在不同的设备上如何。为什么不检查sensorName.contains(“加速计”)而不是全名,因为全名大多数情况下都是特定于设备的?
case sensorName.contains(“步进计数器”):
这就是您的建议吗?Euhm它告诉我Required:String-Found:Boolean。如果你能提供一个代码示例,我可能会误解你的意思,我会用if(sensorName.contains(“步进计数器”){//blabla}或者if(sensorName.contains(“加速计”){//blabla}你不能在开关中执行.contains()。是的,我想这可以工作。但我读到过,使用这个男人如果陈述不是一个好主意?我需要大约20条if语句来安装我手机中的所有传感器。是的,我同意它没有那么酷,但我现在看不到更好的方法。
if(sensorName.contains("Accelerometer")) {
//do stuff
} else if(sensorName.contains("Motion Sensor")) {
//do stuff
}