Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通用传感器名称_Java_Android_Sensors_Android Sensors - Fatal编程技术网

Java 通用传感器名称

Java 通用传感器名称,java,android,sensors,android-sensors,Java,Android,Sensors,Android Sensors,有没有办法获得传感器的通用名称?目前,我的应用程序允许用户从列表视图中选择传感器。根据传感器的不同,应用程序应执行各种操作 我尝试使用switch case语句并使用传感器的名称作为参数来实现这一点。但是由于传感器的名称是特定于我的手机型号的,所以这种情况在其他手机上不起作用 例如,“三星重要运动传感器”不会触发nexus手机中的运动传感器 我尝试使用getType()来获取传感器的类型。但并不是所有的传感器都有一个类型 因此,我的问题是:有没有一种方法可以在所有手机上获得传感器的名称 swit

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

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

您可以尝试只检查
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
}