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

概述

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

a83c0feae0d7

代码

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 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;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值