通用传感器名称

A generic sensor name

有没有办法获得传感器的通用名称?目前,我的应用程序允许用户 select 来自列表视图的传感器。根据传感器的不同,应用程序应该做各种事情。

我尝试使用 switch case 语句并使用传感器的名称作为参数来做到这一点。但由于传感器名称特定于我的 phone 模型,因此这些案例不适用于其他 phones。

例如 "SAMSUNG Significant Motion Sensor" 不会触发关系 phone 中的运动传感器。

我尝试使用 getType() 来获取传感器的类型。但并非所有传感器都有类型。

我的问题是:有没有办法获得适用于所有 phone 的传感器名称?

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 是否包含 "Accelerometer"、"Motion Sensor" 等流行语

if(sensorName.contains("Accelerometer")) { 
    //do stuff
} else if(sensorName.contains("Motion Sensor")) { 
    //do stuff
}