android开发(27) 看看我的手机里都有什么传感器
想看看我的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开发要看的网站(不断更新中)
Android网址或Blog Android官网 身为Android开发者不知道这个网站就太说不过去了,上面有你任何你需要的东西 Android Developers Blog Android官网博客 ...
- Android开发—已root的手机获取data路径
开发android的时候,尽管手机已经root但是DDMS中还是没有data/data路径怎么办? 可以用cmd命令提示符为逐个文件夹设置权限: 打开cmd,输入 adb shell 回车—> ...
- Mac android 开发 sdk配置和手机连接
本文适合已经很熟悉android开发的人员: 首先安装Mac版的eclipse 其次是android sdk的准备: 由于android sdk在线更新很不方便,所以可以选择复制:准备好Mac下的an ...
- ANDROID开发中注意不同手机CPU架构对SO文件的不同需求。
如果没有对应于手机的SO文件,那么在调用第三方SDK时,会经常发生莫明其妙的错误.所以了解你调式或开发的目的手机CPU架构是很有必要的.
- Android开发必看知识
奇艺高清UI界面源代码 http://www.eoeandroid.com/thread-160824-1-1.html 搜索关键字飞入飞出效果 http://www.eoeandroid.com/t ...
- 【Android开发】LogcatView,手机中查看logcat神器
先上图 集成: 1, allprojects { repositories { ... maven { url 'https://www.jitpack.io' } } } 2, dependenci ...
- Android开发——监听Android手机的网络状态
0. 前言 在Android开发中监听手机的网络状态是一个常见的功能,比如在没网的状态下进行提醒并引导用户打开网络设置,或者在非wifi状态下开启无图模式等等.因此本篇将网上的资料进行了整理总结,方便 ...
- Android开发之获取手机SIM卡信息
TelephonyManager是一个管理手机通话状态.电话网络信息的服务类.该类提供了大量的getXxx(),方法获取电话网络的相关信息. TelephonyManager类概述: 可用于訪问有关设 ...
- Android开发学习总结——搭建最新版本的Android开发环境
原文出自:https://www.cnblogs.com/xdp-gacl/p/4322165.html#undefined 最近由于工作中要负责开发一款Android的App,之前都是做JavaWe ...
随机推荐
- IntelliJ IDEA推荐插件
JRebel for IntelliJ 一款热部署插件,只要不是修改了项目的配置文件,用它都可以实现热部署.收费的,破解比较麻烦.不过功能确实很强大.算是开发必备神器了.热部署快捷键是control+ ...
- java将数据从List转换Map
一.多对多 -> 一对多 二.代码实现 /** * 1个国家下所有城市,一对多关系 * 组装成Map结构返回 **/ public Map<String,List<JSONObjec ...
- 利用javapns对IOS进行推送
start package com.jynine.javapns; import java.io.FileNotFoundException; import java.io.IOException; ...
- PCIE协议解析 synopsys IP loopback 读书笔记(1)
1 Overview Core支持单个Pcie内核的Loopback功能,该功能主要为了做芯片验证,以及在没有远程接收器件的情况下完成自己的回环.同时,Core也支持有远程接收器件的loop ...
- C#读取对象实例的值和对对象的属性自动赋值方法
using System; using System.Data; using System.Reflection; namespace DBUtility { /// <summary> ...
- PS辅助工具Assistor PS
Assistor PS是一个功能强大的PS辅助工具,它可以切图.标坐标.尺寸.文字样式注释.画参考线等功能,可以为设计师节省很多时间.该PS工具原本需要每月付费$9.99美元,但在今年6月开始,将免费 ...
- nginx.conf中关于nginx-rtmp-module配置指令详解
译序:截至 Jul 8th,2013 官方公布的最新 Nginx RTMP 模块 nginx-rtmp-module 指令详解.指令Corertmp语法:rtmp { ... }上下文:根描述:保存所 ...
- 分布式缓存Memcache和Redis
引言 针对于如今计算机的CPU和网络设施,相应用程序来说,运行效率的瓶颈.已经不是代码的长度(实现同一个功能)和带宽了,而是,代码訪问资源的过程.即:让我们的程序慢下来的罪魁祸首就是IO操作. 程序从 ...
- Backpropagation In Convolutional Neural Networks
http://www.jefkine.com/general/2016/09/05/backpropagation-in-convolutional-neural-networks/ http://w ...
- delphi 学习笔记的例子
由于360改变了共享策略,导致之前的共享连接不能使用 重新共享了下. http://yunpan.cn/cgS2DBRT572jy (提取码:1eda)