有没有办法获得传感器的通用名称?目前,我的应用程序允许用户从列表视图中选择传感器。根据传感器的不同,应用程序应该做各种事情。
我尝试用一个开关case语句并使用传感器的名称作为参数来完成这个任务。但是因为传感器的名字是我的手机模型特有的,所以这种情况在其他手机上是行不通的。
例如,“三星重大运动传感器”不会触发nexus手机中的运动传感器。
我尝试使用getType()来获取传感器的类型。但并非所有的传感器都有一种类型。
我的问题是:有什么方法可以让传感器的名字在所有手机上都能工作吗?
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;
}发布于 2017-01-27 12:04:00
您可以试着检查sensorName是否包含诸如“加速度计”、“运动传感器”等流行词。
if(sensorName.contains("Accelerometer")) {
//do stuff
} else if(sensorName.contains("Motion Sensor")) {
//do stuff
}https://stackoverflow.com/questions/41893125
复制相似问题