实现第三方锁屏

原创 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实现自定义锁屏控制

当在Android手机上需要实现自定义的锁屏,  往往在进入自定义的锁屏界面界面之前需要先解开屏幕锁, 以顺利的进入自定义锁屏界面 ,并能方便用户即时的做其他操作,下面用代码来实现这一功能:  ...
  • nanzhiwen666
  • nanzhiwen666
  • 2012年12月12日 23:01
  • 3161

基于第三方开发Android锁屏

zhuan zhttp://blog.csdn.net/stevenhu_223/article/details/8831534
  • abwbw
  • abwbw
  • 2014年11月13日 15:09
  • 1165

Android4.2上内置第三方锁屏(一)、锁屏开机加载流程

要在系统内置第三方锁屏,
  • wch18956441322
  • wch18956441322
  • 2014年08月22日 09:09
  • 3140

Android的解锁和唤醒,这里锁屏还没有完成,有问题

权限: 代码: package com.wbm.app.wakeandlockdemo; import android.app.KeyguardMa...
  • Rodulf
  • Rodulf
  • 2016年08月17日 19:38
  • 840

第三方apk锁屏

1.PackageManager获取第三方锁apk程序信 息(ApplicationInfo),主要是代码(sourceDir)和持久化资源路径(dataDir)。应该是/data/app/XXX...
  • zhaoyu_android4311
  • zhaoyu_android4311
  • 2013年01月17日 19:32
  • 3459

iOS 锁屏音频播放控制及音频信息设置 —— HERO博客

iOS 锁屏音频播放控制及音频信息设置。
  • hero_wqb
  • hero_wqb
  • 2016年06月28日 17:14
  • 2150

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

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

Android 实现简单的锁屏功能

写正题之前先闲扯几句。因为前段时间自己的手机电源键不灵,所以手机不能及时锁屏,一度让我很苦恼,后来通过在系统设置找到一个另类的方法,设置让音量键锁屏,最终也解决了问题,但是觉得还是不够爽,作为程序员,...
  • maoruibin9035
  • maoruibin9035
  • 2015年05月17日 19:25
  • 2882

Android开发之实现锁屏功能

锁屏需要引入设备超级管理员。在文档Android开发文档的Administration中有详细的说明。Android设备管理系统功能和控制访问。 主要有一下几个步骤: 1  创建广播接收者,实现D...
  • fengshizty
  • fengshizty
  • 2014年11月20日 23:48
  • 2689

如何实现简单的MFC程序锁屏(不愿分享是最慢的学习方法)

一个思路: 1) 使用SetWindowsHookEx(),注册keyboard hook和mouse hook;注意,在hook中,一定要调用之前返回的函数 2)一旦hook函数被调用,则重启定...
  • haJCB
  • haJCB
  • 2013年08月12日 09:03
  • 972
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:实现第三方锁屏
举报原因:
原因补充:

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