Android開發(fā)(26) 看看手機里都有什么傳感器

概述

通過代碼查看手機里的傳感器列表,看看手機里都有哪種傳感器。


代碼

    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設(shè)備名稱:%s\n", s.getName()));
                sb.append(String.format("\t設(shè)備版本:%s\n", s.getVersion()));
                sb.append(String.format("\t供應(yīng)商:%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] = "光線感應(yīng)";
                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] = "旋轉(zhuǎn)矢量";
                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;
        }
    
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,063評論 25 709
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評論 19 139
  • 就當(dāng)坐牢吧 坐了四年多的牢 還要再坐一年多的牢 也許是三四年的牢 如此,也就安然,安然于無法離開的當(dāng)下 也許會坐一...
    萍梗子閱讀 258評論 3 3
  • 以前開發(fā)FPGA的時候,用的代碼管理工具我忘記了,但是我依然記得清華倪祖耀使用的一款對比軟件工具——Beyond ...
    Johnny_Chang閱讀 1,085評論 0 0

友情鏈接更多精彩內(nèi)容