没事的时候捣鼓了手机防盗的小app。记录下功能和原理:
功能一:自动报警
原理是利用手机的光线传感器,获取光照强度,如果亮度达到一定程度就播放报警音乐,退出了app就后台service运行。
应用的场景:比如你不用手机的时候开启防盗,放入没有光线的地方,比如口袋,背包,小偷从你口袋里面拿走手机,肯定会见光,一见光就自动报警。
但是可能会遇到问题:
1,锁屏状态了app还能正常吗?
2,给自己带来不便,拿出手机就响?
//获取SensorManager对象 SensorManager sensorMamager=(SensorManager) getSystemService(SENSOR_SERVICE); //获取Sensor对象 sensor=sensorMamager.getDefaultSensor(Sensor.TYPE_LIGHT); sensorMamager.registerListener(new SensorEventListener() { @Override public void onSensorChanged(SensorEvent event) { //获取精度 float acc = event.accuracy; //获取光线强度 float lux = event.values[0]; Log.v("acc:"+acc+";"+"lux:"+lux);
@Override public void onAccuracyChanged(Sensor sensor, int accuracy) { // TODO } }, sensor, SensorManager.SENSOR_DELAY_NORMAL);
二,短信拦截,执行相关的操作,删除数据, 定位
这个手机卫士都有这样的功能,android系统接到短信会有广播,拦截后可以获取短信内容。
读取指令,执行文件删除或者其他操作。
加入手机定位SDK。
涉及到的知识点:
权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<uses-permission android:name="android.permission.RECEIVE_SMS"/><!-- 接收短信权限 -->
<uses-permission android:name="android.permission.SEND_SMS"/><!-- 发送短信权限 -->
BroadcastReceiver,短信管理器 SmsManager
略
..过程的确挺有趣的