进阶篇-安卓系统:3.初识安卓手机内置传感器

在第二代智能手机问世之后,安卓手机中的传感器就变得越来越多了。

这次笔记就认识一下安卓内置传感器的种类吧。

如果想要获取安卓手机中所有的内置传感器的名字:

import android.hardware.Sensor;
import android.hardware.SensorManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import java.util.List;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        SensorManager sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
        List<Sensor> sensors = sensorManager.getSensorList(Sensor.TYPE_ALL);
        for(Sensor sensor: sensors){
            System.out.println(sensor.getName());
        }
    }
}

运行结果:

07-14 23:58:48.148 11693-11693/bhu.com.myapplication I/System.out: LIS3DH
07-14 23:58:48.148 11693-11693/bhu.com.myapplication I/System.out: AK8963
07-14 23:58:48.148 11693-11693/bhu.com.myapplication I/System.out: Orientation
07-14 23:58:48.148 11693-11693/bhu.com.myapplication I/System.out: BMP180
07-14 23:58:48.148 11693-11693/bhu.com.myapplication I/System.out: ISL29028
07-14 23:58:48.148 11693-11693/bhu.com.myapplication I/System.out: ISL29028
07-14 23:58:48.148 11693-11693/bhu.com.myapplication I/System.out: L3GD20
07-14 23:58:48.148 11693-11693/bhu.com.myapplication I/System.out: BMP180
07-14 23:58:48.148 11693-11693/bhu.com.myapplication I/System.out: Gravity
07-14 23:58:48.148 11693-11693/bhu.com.myapplication I/System.out: Linear Acceleration
07-14 23:58:48.148 11693-11693/bhu.com.myapplication I/System.out: AMD
07-14 23:58:48.148 11693-11693/bhu.com.myapplication I/System.out: RMD
07-14 23:58:48.148 11693-11693/bhu.com.myapplication I/System.out: VMD
07-14 23:58:48.148 11693-11693/bhu.com.myapplication I/System.out: Rotation Vector
07-14 23:58:48.148 11693-11693/bhu.com.myapplication I/System.out: Rotation Vector Sensor
07-14 23:58:48.148 11693-11693/bhu.com.myapplication I/System.out: Gravity Sensor
07-14 23:58:48.148 11693-11693/bhu.com.myapplication I/System.out: Linear Acceleration Sensor
07-14 23:58:48.148 11693-11693/bhu.com.myapplication I/System.out: Orientation Sensor
07-14 23:58:48.148 11693-11693/bhu.com.myapplication I/System.out: Corrected Gyroscope Sensor
07-14 23:58:48.148 11693-11693/bhu.com.myapplication I/System.out: BMP180

我用的测试机是小米2s,上面的运行结果打印出了小米2s内置的所有传感器。

时间: 2024-07-31 22:23:32

进阶篇-安卓系统:3.初识安卓手机内置传感器的相关文章

进阶篇-安卓系统:4.安卓手机动作传感器

动作传感器对于监测设备的移动非常有用,例如:倾斜.震动.旋转和摆动都属于动作传感器的监测范围.设备的移动通常是对用户输入的直接反应. 所有动作传感器都会返回三个浮点数的值,对于不同的传感器,这三个值的意义不同.例如,对于加速度传感器,会返回三个坐标轴的加速数据.对于陀螺仪传感器,会返回三个坐标周的旋转角速度. 动作传感器的使用与数据返回:加速度传感器 如果单纯的使用加速度传感器传回的数据,会发现Z轴的的加速度是9.8多.所以看来安卓是把静止的手机竖直加速度默认为重力加速度,并且XY轴的数据也不是

进阶篇-安卓系统:5.安卓手机位置传感器

android平台提供了两个传感器用语确定设备的位置,这两个传感器是磁场传感器和方向传感器.Android平台还提供了测量设备正面到某一个临近物体距离的传感器(邻近传感器).磁场传感器和邻近传感器是基于硬件传感器. 用途:可以组合磁场传感器和加速度传感器测量设备相对于地磁北极的位置,还可以利用方向传感器确定当前设备相对自身参照系的位置. 磁场传感器和方向传感器都返回三个值,邻近传感器返回一个值. 方向三个值的含义: event.valuss[0]:绕着Z轴旋转的角度.如果Y轴正对北方,该值是0.

Android手机内置邮件客户端设置方法

1. 打开手机,点击进入Android系统的“邮件”: 2. 进入后,选择其他(POP3/IMAP): 注:此处示例域名以turbomail.org为例,用户在填写时,改成自己单位的域名 输入您的完整的邮箱用户名([email protected] )和邮箱密码,点击“下一步”: 3. 收件服务器设置如下图(默认为POP),设置完点击“下一步”: POP3收件服务器地址:turbomail.org 端口号:110 4. 发件服务器设置如下图,设置完点击“下一步”: SMTP发件服务器地址:tur

Android 最新获取手机内置存储大小,SD卡存储空间大小方法

在以前我们都是这样获取的 //Android API18之前:fs.getAvailableBlocks()*fs.getBlockSize() 目前: /** 得到系统可用内存 **/ @SuppressLint("NewApi") private String getMemFree(){ StatFs fs = new StatFs(Environment.getDataDirectory().getPath()); return Formatter.formatFileSize(

Spark源码研读-散篇记录(二):Spark内置RPC框架之TransportConf

1 Spark版本 Spark 2.1.0. 2 说明 去年在网易之初,已经开发了一个完整的RPC框架,其中使用的核心技术也是Netty,所以当看到Spark的RPC框架时,并不觉得太陌生,关于个人开发的这个RPC框架,真正完全可用是在今年,明年会完善一下,开源出来,因为个人觉得弄得一个简单RPC框架的技术原理,对于大数据.分布式计算相关的知识,真的是帮助太大.本篇说一下TransportContext.TransportConf.ConfigProvider.SparkTransportCon

Python成长之路第二篇(2)_列表元组内置函数用法

列表元组内置函数用法list 元组的用法和列表相似就不一一介绍了 1)def append(self, p_object):将值添加到列表的最后 # real signature unknown; restored from __doc__ """ L.append(object) -- append object to end """ pass (2)def count(self, value): 值的出现次数 # real signature

python基础19 -------面向对象终结篇(介绍python对象中各种内置命令)

一.isinstance()和issubclass()命令 1.isinstance(对象,类型) 用来判定该对象是不是此类型或者说是该对象是不是此类的对象,返回结果为True和False,如图所示. 注:在python3中类和类型做了统一,都叫做类. 2.issubclass(对象(子类),对象(父类)) 用来判定该对象是不是该父类的子类,返回的结果为True或False,如图所示. 二.反射 1.什么是反射? 反射就相当于程序能检测,访问和修改他本身状态和行为的一种能力,相当于自省. 2.p

Python学习【第14篇】:面向对象之反射以及内置方法

面向对象之反射及内置方法 一.静态方法(staticmethod)和类方法(classmethod) 类方法:有个默认参数cls,并且可以直接用类名去调用,可以与类属性交互(也就是可以使用类属性) 静态方法:让类里的方法直接被类调用,就像正常调用函数一样 类方法和静态方法的相同点:都可以直接被类调用,不需要实例化 类方法和静态方法的不同点: 类方法必须有一个cls参数表示这个类,可以使用类属性 静态方法不需要参数 绑定方法:分为普通方法和类方法 普通方法:默认有一个self对象传进来,并且只能被

【Python进阶】来谈谈几个常用的内置函数

匿名函数(lambda表达式) 在Python中,函数可以算的上是“一等公民”了,我们先回顾下函数的优点: 减少代码重复量 模块化代码 但是我们有没有想过,如果我们需要一个函数,比较简短,而且只需要使用一次(无需重复调用),那还需要定义一个有名字的函数么? 答案是否定的,这里我们就可以使用匿名函数来实现这样的功能. 我们先看看求一个数的平方,我们定义个函数怎么写: def square(x): return x**2 square(3) 而lambda表达式就可以这样写: square = la