通用传感器名称

时间:2017-01-27 11:38:17

标签: java android sensor android-sensors

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

我尝试使用switch 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;
    }

1 个答案:

答案 0 :(得分:2)

您可以尝试检查struct Block { std::string Name; std::vector <std::variant<bool, std::string>> Keys; }; 是否包含流行语,如&#34;加速度计&#34;,&#34;运动传感器&#34;等。

sensorName