实现第三方锁屏

原创 2015年07月09日 10:20:30
最近做了个锁屏项目, 网上有很多人说修改

launcher的主页来屏蔽home键.这个我试了下,有个很大的弊端就是单你每次按home键的时候都会让你选择launcher主页.就算你选择把你的程序设为主页它还是会弹出选择框个人感觉非常烦.还有一种就是启动一个窗体使窗体满屏,在窗体中加载我们想要的布局.这样home键的事件就不会影响窗体从而实现锁屏.


下面就来看下窗体类

import android.content.Context;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.WindowManager.LayoutParams;
//锁屏工具了全屏窗体
public class LockLayer {
	private WindowManager mWindowManager;
	private View mLockView;
	private LayoutParams mLockViewLayoutParams;
	private static LockLayer mLockLayer;
	private boolean isLocked;

	public static synchronized LockLayer getInstance(Context context) {
		if (mLockLayer == null) {
			mLockLayer = new LockLayer();
			mLockLayer.init(context);
		}
		return mLockLayer;
	}

	private LockLayer() {
	}

	public void init(Context context) {
		isLocked = false;
		mWindowManager = (WindowManager) context
				.getSystemService(Context.WINDOW_SERVICE);
		mLockViewLayoutParams = new LayoutParams();
		mLockViewLayoutParams.width = LayoutParams.MATCH_PARENT;
		mLockViewLayoutParams.height = LayoutParams.MATCH_PARENT;
		// 实现关键
		mLockViewLayoutParams.type = LayoutParams.TYPE_SYSTEM_ALERT
				| LayoutParams.TYPE_SYSTEM_OVERLAY;
		// apktool value,这个值具体是哪个变量还请网友帮忙
		// 让window占满整个手机屏幕,不留任何边界LayoutParams.FLAG_LAYOUT_IN_SCREEN
		mLockViewLayoutParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL
				| LayoutParams.FLAG_NOT_FOCUSABLE
				| LayoutParams.FLAG_LAYOUT_IN_SCREEN;
	}
	//锁屏
	public synchronized void lock() {
		if (mLockView != null && !isLocked) {
			Log.i("jjf", "....lock");
			mWindowManager.addView(mLockView, mLockViewLayoutParams);
			isLocked = true;
		}
	}
	//解锁
	public synchronized void unlock() {
		if (mWindowManager != null && isLocked) {
			Log.i("jjf", "unlock2");
			mWindowManager.removeView(mLockView);
			isLocked = false;
		}
	}
	//判断是否是锁屏状态
	public boolean isShow() {
		return isLocked;
	}
	//加载锁屏布局
	public synchronized void setLockView(View v) {
		mLockView = v;
	}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android定制-------------第三方客户锁屏APK屏蔽Home和ResentApp键

客户需求: 客户自定义的第三方锁屏APK出现时,需要屏蔽掉Home和RecentApp键,防止用户强制退出锁屏运用。 解决方法: 利用系统的Activity栈来解决。当我们看到当前出现在界面的Acti...

自定义锁屏的实现

一、引言 1、软件项目概述 基于用户使用app过程中,手机屏幕关闭后,重新点亮手机屏幕,能够快速看见用户的所需信息的需求,来设计app的自定义锁屏效果。 2、概述 本文档就自定义锁屏的实现进行讲解。 ...

IDevicePolicyManager实现锁屏

Android获取系统隐藏服务实现锁屏   实现原理:当按锁屏键时,会发出一个广播,当界面接收到一个广播就可以实现锁频。我们可以调用IDevicePolicyManager服务中的...

AudioSreamer实现音乐播放器的后台播放与锁屏播放

AudioSreamer是一个处理网络音频的功能非常强大的第三方.相比其他的音频处理框架有很多好处:AvAudioPlyer只能处理本地音频,如果需要处理网络音频,需要下载到本地才能播放.这就存在一个...

[Android实例] 仿Easy Touch,实现Home键,锁屏,清理内存功能

该篇文章从eoeAndroid搬迁过来的,原文地址:[Android实例] 仿Easy Touch,实现Home键,锁屏,清理内存功能 有的时候我们会面临物理键失灵的情况,这个时候就需要用软件进行代替...
  • krubo1
  • krubo1
  • 2016-01-04 16:45
  • 1316

Android一键锁屏的实现

1.首先创建类AdminReceiver继承DeviceAdminReceiver 该方式可以什么都不写~2.在AndroidManifest.xml中注册 <receiver ...

完美的实现九宫格锁屏

都为梦中的明天 ————阿德

模拟鼠标移动程序实现——解决域控制器策略强制电脑锁屏问题

今天分享一个小程序,真的很小,主要解决强制电脑锁屏的问题。

android锁屏实现思路

android锁屏实现思路文章分类:移动开发以前就想过要实现一个锁屏程序,一直没有动手,今天尝试了一下。首先,得听到系统的屏幕关闭的广播,这个广播是什么呢?不知道啊。那怎么办?搜呗!搜索,可以搜到,不...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)