美文网首页首页投稿(暂停使用,暂停投稿)程序员技术干货
Android开发(26) 看看手机里都有什么传感器

Android开发(26) 看看手机里都有什么传感器

作者: 张云飞Vir | 来源:发表于2016-06-22 11:12 被阅读362次

概述

通过代码查看手机里的传感器列表,看看手机里都有哪种传感器。


代码

    package zyf.demo.sensordemo;
    
    import java.util.List;

    import android.hardware.Sensor;
    import android.hardware.SensorManager;
    import android.os.Bundle;
    import android.app.Activity;
    import android.content.Context;
    import android.view.Menu;
    import android.widget.TextView;
    
    public class MainActivity extends Activity {
        TextView tx1 = null;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            tx1 = (TextView) findViewById(R.id.txt);
            showIt();
        }
    
        public void showIt() {
            //获得传感器管理器
            SensorManager sm = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
            List<Sensor> allSensors = sm.getSensorList(Sensor.TYPE_ALL);
    
            StringBuilder sb = new StringBuilder();
            // 显示有多少个传感器
            sb.append("\t该手机有" + allSensors.size() + "个传感器:\n\n");
    
            String typeName = "";
            // 显示每个传感器的具体信息
            for (Sensor s : allSensors) {
                typeName = SensorTypeName.getSensorTypeName(s.getType());
                sb.append(String.format("\t类型:%s\n", typeName));
                sb.append(String.format("\t设备名称:%s\n", s.getName()));
                sb.append(String.format("\t设备版本:%s\n", s.getVersion()));
                sb.append(String.format("\t供应商:%s\n", s.getVendor()));
                sb.append("\n");
            }// end for
    
            tx1.setText(sb.toString());
        }
    
        static class SensorTypeName {
            private static String[] itsNames;
            
            static {
                itsNames = new String[20];
                itsNames[0] = "未知";
                itsNames[Sensor.TYPE_ACCELEROMETER] = "加速度";
                itsNames[Sensor.TYPE_MAGNETIC_FIELD] = "磁力";
                itsNames[Sensor.TYPE_ORIENTATION] = "方向";
                itsNames[Sensor.TYPE_GYROSCOPE] = "陀螺仪";
                itsNames[Sensor.TYPE_LIGHT] = "光线感应";
                itsNames[Sensor.TYPE_PRESSURE] = "压力";
                itsNames[Sensor.TYPE_TEMPERATURE] = "温度";
                itsNames[Sensor.TYPE_PROXIMITY] = "接近,距离传感器";
                itsNames[Sensor.TYPE_GRAVITY] = "重力";
                itsNames[Sensor.TYPE_LINEAR_ACCELERATION] = "线性加速度";
                itsNames[Sensor.TYPE_ROTATION_VECTOR] = "旋转矢量";
                itsNames[Sensor.TYPE_RELATIVE_HUMIDITY] = "TYPE_RELATIVE_HUMIDITY";
                itsNames[Sensor.TYPE_AMBIENT_TEMPERATURE] = "TYPE_AMBIENT_TEMPERATURE";
                itsNames[13] = "TYPE_AMBIENT_TEMPERATURE";
                itsNames[14] = "TYPE_MAGNETIC_FIELD_UNCALIBRATED";
                //itsNames[Sensor.TYPE_GAME_ROTATION_VECTOR] = "TYPE_GAME_ROTATION_VECTOR";
            }
            
            public static String getSensorTypeName(int type){
                if(type > 0 && type < itsNames.length){
                    return itsNames[type];
                }
                return "未知";
            }
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
    
    }

相关文章

  • Android开发(26) 看看手机里都有什么传感器

    概述 通过代码查看手机里的传感器列表,看看手机里都有哪种传感器。 代码

  • Android传感器应用开发

    Android传感器应用开发 Android系统提供了对传感器的支持,如果手机设备的硬件提供了这些传感器,Andr...

  • Android开发(27) 做个指南针应用

    概述 现在一般android手机里都有 磁场传感器,它能检测到方向。我们做个指南针应用玩玩。 思路 1.获得传感器...

  • Android的传感器开发

    在Android系统中开发传感器应用十分简单,因为Android系统为传感器支持提供了强大的管理服务,同样传感器的...

  • Android 传感器开发详解

    Android 传感器开发详解 传感器 传感器的分类 方向传感器 陀螺仪传感器 磁场传感器 重力传感器 线性加速度...

  • Android开发高级进阶——传感器

    Android系统提供了对传感器的支持,如果手机设备的硬件提供了这些传感器,Android应用可以通过传感器来获取...

  • 传感器思密达

    什么是传感器? 大家觉得什么是传感器呢? 看看手机上哪些应用使用了传感器? 比如微信中“附近的人”、“摇一摇”、游...

  • Android 传感器总结

    最近项目需要各种手机传感器,于是就此来写个总结,以此留痕。在Android开发中,会用到各种传感器,但不一定每个真...

  • 关于Android传感器

    最近项目需要各种手机传感器,于是就此来写个总结,以此留痕。在Android开发中,会用到各种传感器,但不一定每个真...

  • Android手机传感器的简单介绍

    Android手机传感器的使用 1、传感器的分类 动作传感器:加速度传感器、重力传感器、陀螺仪等位置传感器:方向传...

网友评论

    本文标题:Android开发(26) 看看手机里都有什么传感器

    本文链接:https://www.haomeiwen.com/subject/dftndttx.html