zoukankan      html  css  js  c++  java
  • 传感器

     1 public class MainActivity extends AppCompatActivity implements SensorEventListener{
     2 
     3     private TextView text;
     4 
     5     @Override
     6     protected void onCreate(Bundle savedInstanceState) {
     7         super.onCreate(savedInstanceState);
     8         setContentView(R.layout.activity_main);
     9         initView();
    10 
    11         //获取传感器的管理
    12         SensorManager sensor = (SensorManager) getSystemService(SENSOR_SERVICE);
    13         List<Sensor> sensorList = sensor.getSensorList(Sensor.TYPE_ALL);
    14         ArrayList<String> list = new ArrayList<>();
    15         for (Sensor s:sensorList){
    16             String str="
    "+"设备名称:"+s.getName()+"
    设备的版本:"+s.getVersion()+"
    供应商:"+s.getVendor();
    17             list.add(str);
    18         }
    19         text.setText("经检测手机有"+list.size()+"个传感器,分别是:
    "+list.toString());
    20 
    21 
    22         Sensor msensor1 = sensor.getDefaultSensor(Sensor.TYPE_GAME_ROTATION_VECTOR);
    23         sensor.registerListener(this,msensor1,SensorManager.SENSOR_DELAY_GAME);
    24 
    25         Sensor msensor = sensor.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
    26         //监听事件
    27         sensor.registerListener(this,msensor,SensorManager.SENSOR_DELAY_GAME);
    28 
    29         Sensor light = sensor.getDefaultSensor(Sensor.TYPE_LIGHT);
    30         sensor.registerListener(this,light,SensorManager.SENSOR_DELAY_GAME);
    31 
    32 
    33     }
    34 
    35     private void initView() {
    36         text = (TextView) findViewById(R.id.text);
    37     }
    38 
    39 
    40     @Override
    41     public void onSensorChanged(SensorEvent event) {
    42         int type = event.sensor.getType();
    43         switch (type){
    44 
    45             case Sensor.TYPE_LIGHT:
    46                 float[] values = event.values;
    47                 StringBuilder builder = new StringBuilder();
    48                 builder.append("光感度:"+values[0]);
    49 //                builder.append("
    y方向的加速度"+values[1]);
    50 //                builder.append("
    z方向的加速度:"+values[2]);
    51                 text.setText(builder.toString());
    52                 break;
    53             case Sensor.TYPE_GAME_ROTATION_VECTOR:
    54                 float[] values1 = event.values;
    55                 StringBuilder builder1 = new StringBuilder();
    56                 builder1.append("x方向的度量:"+values1[0]);
    57                 builder1.append("
    y方向的度量:"+values1[1]);
    58                 builder1.append("
    z方向的度量:"+values1[2]);
    59                 text.setText(builder1.toString());
    60                 break;
    61         }
    62 
    63     }
    64 
    65     @Override
    66     public void onAccuracyChanged(Sensor sensor, int accuracy) {
    67 
    68     }
    69 }
  • 相关阅读:
    谷歌浏览器提示Adobe Flash Player因过期而遭到阻止
    Oracle 查看表空间剩余与创建空间语法
    招标
    iphone刷机各种错误
    oracle 创建dblink
    imp-00002 无法打开。。
    oracle 大字段clob检索
    (一)EasyUI 使用——基本概念
    使用 Google 高级搜索的一些技巧
    (四)Maven构建多模块项目
  • 原文地址:https://www.cnblogs.com/SongYongQian/p/7883314.html
Copyright © 2011-2022 走看看