Android_通过传感器抓小偷

package com.beyond.phonestolen;

import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.app.Activity;
import android.widget.Toast;

public class MainActivity extends Activity {
	//传感器管理器
	private SensorManager sm;
	//距离传感器
	private Sensor sensor;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		//1,通过获取系统服务,得到传感器管理器
		sm=(SensorManager) getSystemService(SENSOR_SERVICE);
		//2,通过传感器管理器获取指定的距离传感器
		sensor=sm.getDefaultSensor(Sensor.TYPE_PROXIMITY);
		//3,通过传感器管理器注冊监听器,监听距离传感器的感应事件
		sm.registerListener(new MyListener(), sensor, SensorManager.SENSOR_DELAY_GAME);
	}
	private class MyListener implements SensorEventListener{
		@Override
		public void onSensorChanged(SensorEvent event) {
			float distance=event.values[0];
			//System.out.println(val[0]);
			Toast.makeText(MainActivity.this, ""+distance, 0).show();
			//当手机在裤袋里面时,距离为0
			if (distance<1.0f) {
				return;
			}
			//当手机脱离裤袋的时候,距离为1,播放音乐
			playMusic();

		}
		private void playMusic() {
			// 播放音乐
			MediaPlayer mPlayer=MediaPlayer.create(MainActivity.this, R.drawable.alarm);
			mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
			try {
				mPlayer.prepare();
			} catch (Exception e) {
				e.printStackTrace();
			}
			//理论上应该异步准备,在准备完毕的回调函数中启动播放器
			mPlayer.start();
		}
		@Override
		public void onAccuracyChanged(Sensor sensor, int accuracy) {
		}

	}
}
时间: 2024-12-26 16:45:55

Android_通过传感器抓小偷的相关文章

Android_方向传感器

Android方向传感器小案例,主要代码如下: package com.hb.direction; import android.app.Activity; import android.content.Context; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.S

Android_传感器光学

上一篇写了一个小案例方向传感器,与这光学传感器原理大致类似,但其实代码的主要区别得到的类型不一样在这里我一一列举出来: * Sensor.TYPE_ORIENTATION:方向传感器. * Sensor.TYPE_GYROSCOPE:陀螺仪传感器. * Sensor.TYPE_MAGNETIC_FIELD:磁场传感器. * Sensor.TYPE_GRAVITY:重力传感器. * Sensor.TYPE_LINEAR_ACCELERATION:线性加速度传感器. * Sensor.TYPE_AM

Android_(传感器)获取手机中的传感器

传感器是一种检测装置,能够感受被测量的信息,并能将检测和感受到的信息按一定规律变换成电信号或其它所需形式的信息输出 Android操作系统中内置了很多的传感器(物理装置),能够探测.感受外界的信号.物理条件,并将得到的信息传递给其它的装置. 例如在部分游戏或软件可以自动识别屏幕的横竖屏来改变屏幕显示的布局 下面是Android支持的几种传感器: 加速传感器      Sensor.TYPE_ACCELEROMETER 陀螺仪传感器     Sensor.TYPE_GYROSCOPE 环境光仪传感

[Android_项目]Android开源项目分类汇总

第一部分 个性化控件(View) 主要介绍那些不错个性化的View,包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView.ScrollView.TimeView.TipView.FlipView.ColorPickView.GraphView.UI Style等等..其他 一.ListView android-pulltorefresh一个强大的拉动刷新开源项目,支持各种控件下拉刷新

传感器到底需要什么样的电路板

传感器,英文名称transducer,是一种检测装置,能感受到被测量的信息,并能将感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输.处理.存储.显示.记录和控制等要求. 按照制造工艺来分类的话: 集成传感器是用标准的生产硅基半导体集成电路的工艺技术制造的.通常还将用于初步处理被测信号的部分电路也集成在同一芯片上,例如现在大力发展的MEMS传感器. 薄膜传感器则是通过沉积在介质衬底(基板)上的,相应敏感材料的薄膜形成的.使用混合工艺时,同样可将部分电路制造在此基板上

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

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

Android12_播放器_surfaceVIew_照相机_传感器

编程的时间与空间的概念,两者不可兼得(技术固定),时间换空间,空间换时间 sufaceView占用比较大的空间但是效率高 1,音乐播放器 MediaPlayer ①同步的 大致流程按下图走即可,播放最好写在服务里,因为要在后台播放 1.1 new出来的mediaplayer 默认处于Idie(空闲),reset()也可以让其处于初始状态 1.2 setDataSource()设置好文件之后就处于Initialized()初始化状态 1.3 可以通过setOnErrorListener方法查看播放

传感器网络的路由

1.传感器网络的路由特点 传感器网络作为一种自组织的动态网络,当节点失效.新节点加入导致网络拓扑结构动态变化时需要网络能够自动愈合.传感器网络中路由的关键技术就是多跳自组织的网络路由协议,另外传感器网络中的路由机制还需要与数据融合技术联系在一起.根据不同的传感器网络应用,一共有四种思想的路由协议.能量感知路由是高效利用网络能量的路由协议,它侧重点是最少能量消耗和最长网络生存期等问题:基于查询的路由比较适合环境检测方面的应用,在这类应用中需要不断地的查询传感器节点采集的数据,通信流量集中在汇聚节点

Android基础入门教程——10.12 传感器专题(3)——加速度-陀螺仪传感器

Android基础入门教程--10.12 传感器专题(3)--加速度/陀螺仪传感器 标签(空格分隔): Android基础入门教程 本节引言: 本节继续来扣Android中的传感器,本节带来的是加速度传感器(Accelerometer sensor)以及 陀螺仪传感器(Gyroscope sensor),和上一节的方向传感器一样有着x,y,z 三个轴, 还是要说一点:x,y轴的坐标要和绘图那里的x,y轴区分开来!传感器的是以左下角 为原点的!x向右,y向上!好的,带着我们的套路来学本节的传感器吧