android开发(27) 看看我的手机里都有什么传感器
2013-09-25 10:42
429 查看
想看看我的HTC ONE x 具有什么传感器。写个代码RUN一下。
代码很简单,直接贴了
代码很简单,直接贴了
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开发(27) 看看我的手机里都有什么传感器
- android 手机开发( 什么是intent)
- 国内Android应用分析报告,看看大家都在用什么开发
- android开发,你还在犹豫什么呢?进来看看花不了你很多时间的
- 在用Kivy开发Python手机游戏时通过Plyer扩展访问Android传感器
- 开发人员应该选择什么Android手机?
- Android手机摇一摇之传感器开发
- Android手机系统开发中的AP和BP是什么
- android开发——手机短信功能
- android开发利用传感器实现微信的摇一摇功能
- Mac android 开发 sdk配置和手机连接
- android开发之手机与单片机蓝牙模块通信
- Eclipse开发Android程序如何在手机上运行
- Eclipse开发Android程序如何在手机上运行
- Android BLE开发——Android手机与BLE终端通信初识
- Android开发中关于小米2s手机的调试问题
- Android开发11——手机横屏和竖屏与android:configChanges
- Android开发之方向传感器的使用
- android4.2开发手机新闻移动客户端
- 深入浅出 - Android系统移植与平台开发(五)- 定制手机模拟器ROM