练手小项目(5)安全卫士_程序锁bug修复一

程序锁的基本功能,已经实现了,但是你如果输入密码进入 APP以后,看门狗,还是监听你想进入的APP,这时候又会出现一个输入密码的界面。

我先说一下思路。

①思路

1.通过发送自定义广播在服务里面,监控多一个判断如果是临时取消保护的程序就不再启动程序锁 ,这时候,我们要解决的就是什么时候再让他启动监听呢,答案就是 锁屏的时候。

2.通过锁屏将零时保护值设为空就可以继续保护了

但是bug 还是有 那就不停的安返回键 取消 输入密码界面,可以慢慢把界面内容看完,怎么解决呢

解决方案的是:

3. 如果在输入密码界面的时候,返回  可以慢慢把内容看完,所以我们监控返回键,如果返回直接回桌面

4.如果在进入其他被加锁的应用 输入密码显示的信息还是上一个 所以我们通过Onstop将activity finish掉

OK  因为这个应用我是在测试项目里写的 源码在后面提供下 大家只要直接找 appmanager那部分代码就行了

解决方案一

在  EnterPwdActivity.java 里面

//告诉看门狗这个程序密码输入正确了。 可以临时的停止保护。
			//自定义的广播,临时停止保护。
			Intent intent = new Intent();
			intent.setAction("com.xiaoxin.mobilesafe.tempstop");
			intent.putExtra("packname", packname);
			sendBroadcast(intent);
			finish();

WatchDogService.java

然后接受自定以广播做出处理 注册一个广播接受者

	private InnerReceiver innerReceiver;
	innerReceiver = new InnerReceiver();
	registerReceiver(innerReceiver, new IntentFilter("com.xiaoxin.mobilesafe.tempstop"));
	private class InnerReceiver extends BroadcastReceiver{

		@Override
		public void onReceive(Context context, Intent intent) {
			tempstop = intent.getStringExtra("packname");
		}

	}

对服务进行处理,

//还要判断这个应用程序是否临时停止保护
						if (packageName.equals(tempstop)) {

						}

不做任何操作 如果不是继续监听app

解决方案二

监听锁屏的时候的广播

private ScreenOffReceiver offreceiver;

private class ScreenOffReceiver extends BroadcastReceiver {
		@Override
		public void onReceive(Context context, Intent intent) {
			offreceiver = null;
		}
	}
<span>		</span>offreceiver = new ScreenOffReceiver();
<span>		</span>registerReceiver(offreceiver, new IntentFilter(Intent.ACTION_SCREEN_OFF));

解决方案三

回到输入密码界面的代码

	@Override
	public void onBackPressed() {
		//回桌面。
		Intent intent = new Intent();
		intent.setAction("android.intent.action.MAIN");
		intent.addCategory("android.intent.category.HOME");
		intent.addCategory("android.intent.category.DEFAULT");
		intent.addCategory("android.intent.category.MONKEY");
		startActivity(intent);
		//所有的activity最小化 不会执行ondestory 只执行 onstop方法。
	}

@Override
	protected void onStop() {
		super.onStop();
		finish();
	}

时间: 2024-10-08 22:28:58

练手小项目(5)安全卫士_程序锁bug修复一的相关文章

练手小项目(2)-生活小助手--周公解梦

第一篇 练手小项目(2)-生活小助手--身份证查询 第二篇 练手小项目(2)-生活小助手--星座运势查询 我在想就是第三个药品查询要不要写出来,因为布局还在讨论用什么展示,因为药品有很多展示,我也不知道用什么展示. 这是一个很纠结的事情 我就先写第四个吧 周公解梦 其中代码有点错误我想用for循环进行判断返回数据有几个 但是总是失败,如果有看本篇贴子,解决了,给我留个言,在这篇帖子我只显示一个结果 布局跟简单的说 一个Edittext 获取数据,然后button进行数据提取发送到服务器 返回的数

练手小项目(2)-生活小助手--星座运势查询

上一篇内容 练手小项目(2)-生活小助手 今天星期一.趁着中午的歇息时间把 第二个写出来 星座运势,近期看看极客学院 用聚合数据做了天气预报的视频教程,不好评价他.看他在后面的代码变更那么大,我就知道,后面肯定做不下去,于是.就改代码了.代码变更那么大,有几个人会去理解,还不如我自己写................ 先看布局 点击去就是一个spinner 用几个textview显示查询内容   布局有点丑,主要是给别人做功能,UI我就不考虑 关于UI  我还是要贴下代码.假设你有想法就把他美化

vue练手小项目--眼镜在线试戴

最近看到了一个眼镜在线试戴小项目使用纯js手写的,本人刚学习vue.js没多久,便试试用vue做做看了,还没完善. 其中包括初始图片加载,使用keywords查找,父子组件之间传递信息,子组件之间传递信息 1. 使用keywords查找 1.1 给每个li添加初始data smallImg: [ { keywords: "椭圆脸", src: "images/model_1.jpg", addClass: false }, { keywords: "圆形脸

java练手小项目!要想java学得好,练手项目不可少!

Java小项目,实现电影院的自动售票机 运行界面如下 2.类的设计 该系统中必须包括两个类,类名及属性方法设置如下. 电影类(Movie) ²  名称(name) ²  上映日期(date) ²  票价(price) 售票机类(TicketSell) ²  方法:查询所有电影信息  查询指定电影票价以及上映日期  购买电影票 3.具体要求及推荐实现步骤 1.创建电影类 2.创建售票机类 3.开发售票机类初始化电影方法,查询方法和买票方法. 1)初始化方法initial():  初始化5个电影对象

练手小项目(5)安全卫士——手机加速

不知不觉已经写到了第八篇了,手机卫士作为一个复习基础的项目,我基本也快做完了,如果大家继续看完的话,基本做东西有思路了. 怎么让手机加入加速呢,其实安卓系统是本身不会这么卡的,只因为国内软件太过流氓了,导致内存占用很大,所以手机加速 就说下内存清理 如果看过上一节的软件管理器,应该会很快学懂,因为布局都差不多,还是一个复杂的listview布局 本章涉及到知识点: 1.你猜 2.SP的使用 3.listview的复杂布局 OK ,我还是按照我写教程的思路,先看布局 ①.布局的编写 布局就和软件管

练手小项目:利用pygame库编写飞机大战游戏

pygame库已经很久不更新,毕竟使用python开发游戏的不多.本项目的目的在于训练自己的pthon基本功.了解中小型程序框架以及学习代码重构等.项目出自<Python编程 从入门到实践>中12-14章节的例子.另外写的博客貌似也没人看啊,有点沮丧.不过还是要沉住气,就权当自己的私人技术日记了.或许以后能成为技术大牛呢,傻笑:) giyhub地址: 效果图如下: 程序框架 alien_invasion.py 包含运行游戏的run_game函数 alien.py 外星人类 bullet.py

练手小项目(1)——智能聊天机器人

我一直坚信着,即使一个最简单的APP,也有他的难点,如果一个复杂的APP你无法做出来,那肯定是你基础不扎实,我身边的人总是问我,安卓为什么学了有忘记了,总是学不好,有些东西记不住,其实这不能怪你,如果别人开发了那么久的东西,你一下子就学会了,你让谷歌怎么活. 篇幅有限,如果读者看不懂的话,可以复习下基础,我尽量将代码简单化了.  先看效果图 如果你是初学安卓,这个APP你可能要半小时 如果你是有经验的开发者,OK,你可能看一遍就能将自己的开发类带入,10分钟不到就搞定. 开发步骤: 1. 先去图

Spring+Mybatis整合的练手小项目(一)项目部署

声明:教程是网上找的,代码是自己敲的 项目目录大致如下: 1. 首先创建Maven工程,在pom.xml中加入项目所需依赖: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

【辅助程序】练手小程序:记录外网动态IP地址

练手小程序 程序作用:对IP实时记录: 1.定时获取外网IP,存储在本地文件中: 编写思路: 1)收集获取外网的API接口 http://bbs.125.la/thread-13838979-1-1.html 2)定时执行 http://blog.csdn.net/imzoer/article/details/8699083/ 4)记录本地文件 1 # -*- coding: utf-8 -*- 2 # -*- coding: gbk -*- 3 # Date: 2016/4/27 4 # Cr