想看看我的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) 看看我的手机里都有什么传感器的更多相关文章

  1. [转]Android开发要看的网站(不断更新中)

    Android网址或Blog Android官网 身为Android开发者不知道这个网站就太说不过去了,上面有你任何你需要的东西 Android Developers Blog Android官网博客 ...

  2. Android开发—已root的手机获取data路径

    开发android的时候,尽管手机已经root但是DDMS中还是没有data/data路径怎么办? 可以用cmd命令提示符为逐个文件夹设置权限: 打开cmd,输入 adb shell  回车—> ...

  3. Mac android 开发 sdk配置和手机连接

    本文适合已经很熟悉android开发的人员: 首先安装Mac版的eclipse 其次是android sdk的准备: 由于android sdk在线更新很不方便,所以可以选择复制:准备好Mac下的an ...

  4. ANDROID开发中注意不同手机CPU架构对SO文件的不同需求。

    如果没有对应于手机的SO文件,那么在调用第三方SDK时,会经常发生莫明其妙的错误.所以了解你调式或开发的目的手机CPU架构是很有必要的.

  5. Android开发必看知识

    奇艺高清UI界面源代码 http://www.eoeandroid.com/thread-160824-1-1.html 搜索关键字飞入飞出效果 http://www.eoeandroid.com/t ...

  6. 【Android开发】LogcatView,手机中查看logcat神器

    先上图 集成: 1, allprojects { repositories { ... maven { url 'https://www.jitpack.io' } } } 2, dependenci ...

  7. Android开发——监听Android手机的网络状态

    0. 前言 在Android开发中监听手机的网络状态是一个常见的功能,比如在没网的状态下进行提醒并引导用户打开网络设置,或者在非wifi状态下开启无图模式等等.因此本篇将网上的资料进行了整理总结,方便 ...

  8. Android开发之获取手机SIM卡信息

    TelephonyManager是一个管理手机通话状态.电话网络信息的服务类.该类提供了大量的getXxx(),方法获取电话网络的相关信息. TelephonyManager类概述: 可用于訪问有关设 ...

  9. Android开发学习总结——搭建最新版本的Android开发环境

    原文出自:https://www.cnblogs.com/xdp-gacl/p/4322165.html#undefined 最近由于工作中要负责开发一款Android的App,之前都是做JavaWe ...

随机推荐

  1. [转]Java加密算法

    如基本的单向加密算法: BASE64 严格地说,属于编码格式,而非加密算法 MD5(Message Digest algorithm 5,信息摘要算法) SHA(Secure Hash Algorit ...

  2. Android Studio主题设置、颜色背景配置

    打开http://color-themes.com/有很多样式可供选择 导入方式 下载主题—xxx.jar 注意:如果我们下载下来的jar名字如果有空格,一定要把空格去掉,同时文件路径中不要含有中文 ...

  3. Mongo如何导出 CSV文件

    mongoexport /h localhost /port 37189 /u aa /p aa /authenticationDatabase admin /d testdb /c usertag ...

  4. win764bit系统plsqldeveloper11连接oracle11g64bit配置方法

    win764bit系统plsqldeveloper11连接oracle11g64bit配置方法: 原因:plsqldeveloper都是32位的没有64位的程序 准备工作: 1,先要下载instant ...

  5. 关于"996",我想说的 - 人在高潮享受成就,人在低潮享受人生

    996 - 9点上班,21点下班,周六必须上班. 这就是IT界的潜规则,之前晚上陪家人看新闻的时候我就看到一则新闻轻描淡写的说了996制度,我当时就想说点甚么,但是没有,然而就仿佛突然的一下爆发了,我 ...

  6. Atitit Java OpenCV 捕获视频

    Atitit Java  OpenCV 捕获视频 ,打开一段视频或默认的摄像头 有两种方法,一种是在定义类的时候,一种是用open()方法. 一. 读取视频序列 OpenCV提供了一个简便易用的框架以 ...

  7. 第7讲 SPI和RAM IP核

    学习目的: (1) 熟悉SPI接口和它的读写时序: (2) 复习Verilog仿真语句中的$readmemb命令和$display命令: (3) 掌握SPI接口写时序操作的硬件语言描述流程(本例仅以写 ...

  8. spark repartition

    https://jaceklaskowski.gitbooks.io/mastering-apache-spark/content/spark-rdd-partitions.html http://s ...

  9. 在vue-cli生成的项目中使用karma+chrome进行单元测试

    用vue-cli生成项目时,如果选择了单元测试,那么会采用karma+mocha作为单元测试框架,默认使用的浏览器是PhantomJs. Karma 是一个基于Node.js的JavaScript测试 ...

  10. javascript基础拾遗(十二)

    1.javascript的单线程特性 在javascript中,所有的代码都是单线程的 因此所有的网络操作,浏览器事件,都必须是异步执行的,异步执行的逻辑是回调. function callback( ...