• [置顶] Android代码传感器测试手机支持那几种传感


    一个小小Demo检测手机支持那几种传感:

    具体代码如下:


    [Java代码]DemoSensorActivity.java

    package com.example.testsensor;
    import java.util.List;
    import android.app.Activity;
    import android.content.Context;
    import android.hardware.Sensor;
    import android.hardware.SensorManager;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.TextView;
    public class DemoSensorActivity extends Activity {
     private Button button;
     private TextView show;
     private SensorManager sm;
     private StringBuffer str;
     private List<Sensor> allSensors;
     private Sensor s;
     @Override
     public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
      button = (Button) findViewById(R.id.button);
      show = (TextView) findViewById(R.id.show);
      button.setOnClickListener(new ButtonListener());
      sm = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
      allSensors = sm.getSensorList(Sensor.TYPE_ALL);// 获得传感器列表
     }
     class ButtonListener implements OnClickListener {
      public void onClick(View v) {
       str = new StringBuffer();
       str.append("该手机有" + allSensors.size() + "个传感器,分别是:\n");
       for (int i = 0; i < allSensors.size(); i++) {
        s = allSensors.get(i);
        str.append("设备名称:" + s.getName() + "\n");
        str.append("设备版本:" + s.getVersion() + "\n");
        str.append("通用类型号:" + s.getType() + "\n");
        str.append("设备商名称:" + s.getVendor() + "\n");
        str.append("传感器功耗:" + s.getPower() + "\n");
        str.append("传感器分辨率:" + s.getResolution() + "\n");
        str.append("传感器最大量程:" + s.getMaximumRange() + "\n");
        switch (s.getType()) {
        case Sensor.TYPE_ACCELEROMETER:
         str.append(i + "加速度传感器");
         break;
        case Sensor.TYPE_GYROSCOPE:
         str.append(i + "陀螺仪传感器");
         break;
        case Sensor.TYPE_LIGHT:
         str.append(i + "环境光线传感器");
         break;
        case Sensor.TYPE_MAGNETIC_FIELD:
         str.append(i + "电磁场传感器");
         break;
        case Sensor.TYPE_ORIENTATION:
         str.append(i + "方向传感器");
         break;
        case Sensor.TYPE_PRESSURE:
         str.append(i + "压力传感器");
         break;
        case Sensor.TYPE_PROXIMITY:
         str.append(i + "距离传感器");
         break;
        case Sensor.TYPE_TEMPERATURE:
         str.append(i + "温度传感器");
         break;
        default:
         str.append(i + "未知传感器");
         break;
        }
       }
       show.setText(str);
      }
     }
    }
    

    [XML代码]main.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
        <Button
            android:id="@+id/button"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="获取传感器" />
        <ScrollView
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >
            <TextView
                android:id="@+id/show"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" />
        </ScrollView>
    </LinearLayout>


  • 相关阅读:
    webserivice---通过Ajax访问远程天气预报服务
    IDEA Error:java: 未结束的字符串文字
    UML:它是一种支持模型化和软件系统开发的图形化语言
    核心代码之分页
    struts.xml 的 file 报错 解决方式
    Myeclipse buildpath 加server lib (server runtime)
    核心代码之优化查询
    入园新编
    为啥JS中判断对象是否是类的实例推荐使用instanceof而不推荐constructor
    http常考的题目
  • 原文地址:https://www.cnblogs.com/anjon520/p/3249939.html
Copyright © 2020-2023  润新知