使用系统自带ScreenLock来保护你的App
来源:互联网 发布:c语言数学函数头文件 编辑:程序博客网 时间:2024/06/02 13:13
如果你的App需要验证密码,我们可以使用系统的ScreenLock来进行验证,这样做的好处是我们的用户不必使用多个不同的密码来验证身份,OK,下面我们来看看如何使用系统锁屏:
先来介绍几个Framework里面的锁屏相关的类:
LockPatternUtils:这里提供了锁屏的一些帮助类,我们最需要使用的是这样一个方法:
public boolean isSecure() { long mode = getKeyguardStoredPasswordQuality(); final boolean isPattern = mode == DevicePolicyManager.PASSWORD_QUALITY_SOMETHING; final boolean isPassword = mode == DevicePolicyManager.PASSWORD_QUALITY_NUMERIC || mode == DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC || mode == DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC || mode == DevicePolicyManager.PASSWORD_QUALITY_COMPLEX; final boolean secure = isPattern && isLockPatternEnabled() && savedPatternExists() || isPassword && savedPasswordExists(); return secure; }
这个方法用来检测当前系统是否已经使用了锁屏。
ChooseLockGeneric:这个类是我们设置锁屏的主要类:
我们通过调用这个类来引导用户增加一个系统锁屏:
Intent intent = new Intent("/"); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); ComponentName cm = new ComponentName("com.android.settings","com.android.settings.ChooseLockGenericForKS"); intent.setComponent(cm); startActivity(intent);
private boolean runKeyguardConfirmation(int request) { Resources res = getActivity().getResources(); return new ChooseLockSettingsHelper(getActivity(), this) .launchConfirmationActivity(request, res.getText(R.string.master_clear_gesture_prompt), res.getText(R.string.master_clear_gesture_explanation)); }
我们需要在调用的Activity中使用onActivityResult来获取返回值:
if (requestCode == 55 && resultCode == Activity.RESULT_OK) {
55是我们的request code。
通过以上方法,我们就可以在我们的App中添加验证、增加系统锁屏验证了。
以上。
2 0
- 使用系统自带ScreenLock来保护你的App
- (八十一)利用系统自带App来实现导航
- 使用Appium测试你的iOS APP ,然后执行第一个自带的测试实例
- 删除Android系统的所有自带的APP
- 使用instruments来优化你的app
- 不使用系统自带的button
- iOS系统自带地位的使用
- 使用系统自带的委托
- 系统自带ImageLoader的简单使用
- Android如何调试更新系统自带的app
- 使用组件来保护你的ASP代码
- 使用加密来保护你的Flash文件被反编译
- android技巧:把自己的app变成手机系统自带的app[/system/app]
- android技巧:把自己的app变成手机系统自带的app[/system/app]
- android技巧:把自己的app变成手机系统自带的app[/system/app]
- 让你的Lable拥有系统自带 表情!
- 使用Apache自带的ab来测试服务器性能
- 使用FastDateFormat来代替JDK自带的DateFormat
- 如何在myeclipse中集成mybatis generator集成代码反向生成工具
- python的excel操作
- c++实现list类(第一次用类) —— new对象需delete
- 变量和递归
- ios常用网站
- 使用系统自带ScreenLock来保护你的App
- MFC 调试错误解决方案
- 操作系统-进程调度之模拟SJF
- poj 1830 开关问题 高斯消元法
- 目标检测、目标跟踪的测试用图像序列
- BLE简介和Android BLE编程
- 黑马程序员——缓冲区,提高流的操作效率
- C++,java等高级语言的内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区
- 第十三周项目1--4