Android 手机卫士--是否有密码区分对话框类型
本文开始逐步实现设置中心的“手机防盗”功能模块

本文地址:/www.cnblogs.com/wuyudong/p/5939123.html,转载请注明出处。
点击“手机防盗”,如果之前没有设置过密码,则弹出下面的对话框:

如果已经设置过密码,则弹出下面的对话框:

由于需要存储保存的密码状态,可以使用SharedPreferences
在之前创建的SpUtil类中添加下面的代码:
// 写
/**
* 写入String变量至sp中
* @param context 上下文环境
* @param key 存储节点名称
* @param value 存储节点的值String
*/
public static void putString(Context context, String key, String value) {
// (存储节点文件名称,读写方式)
if (sp == null) {
sp = context.getSharedPreferences("config", context.MODE_PRIVATE);
}
sp.edit().putString(key, value).commit();
} /**
* 从sp中读取String
* @param context 上下文环境
* @param key 存储节点名称
* @param defValue 存储节点默认值
* @return 默认值或者此节点读取到的结果
*/
public static String getString(Context context, String key, String defValue) {
// (存储节点文件名称,读写方式)
if (sp == null) {
sp = context.getSharedPreferences("config", context.MODE_PRIVATE);
}
return sp.getString(key, defValue);
}
这样,当鼠标点击的时候通过监听点击事件,加入判断逻辑
private void showDialog() {
//判断本地是否有存储密码(sp 字符串)
String psd = SpUtil.getString(this, ConstantValue.MOBILE_SAFE_PSD, "");
if(TextUtils.isEmpty(psd)){
//1,初始设置密码对话框
showSetPsdDialog();
}else{
//2,确认密码对话框
showConfirmPsdDialog();
}
}
/**
* 确认密码对话框
*/
private void showConfirmPsdDialog() {
}
/**
* 设置密码对话框
*/
private void showSetPsdDialog() {
}
其中MOBILE_SAFE_PSD为ConstantValue类中的常量
package com.wuyudong.mobilesafe.Utils; /**
* Created by wuyudong on 2016/10/6.
*/
public class ConstantValue {
/**
* 是否开启更新key
*/
public static final String OPEN_UPDATE = "open_update";
/**
* 是否设置密码key
*/
public static final String MOBILE_SAFE_PSD = "mobile_safe_psd";
}
接下来就剩下在showConfirmPsdDialog和showSetPsdDialog方法中添加代码了。
Android 手机卫士--是否有密码区分对话框类型的更多相关文章
- Android 手机卫士--确认密码对话框编写
本文接着实现“确认密码”功能,也即是用户以前设置过密码,现在只需要输入确认密码 本文地址:http://www.cnblogs.com/wuyudong/p/5940718.html,转载请注明出处. ...
- Android 手机卫士--弹出对话框
在<Android 手机卫士--解析json与消息机制发送不同类型消息>一文中,消息机制发送不同类型的信息还没有完全实现,在出现异常的时候,应该弹出吐司提示异常,代码如下: private ...
- Android 手机卫士--设置界面&功能列表界面跳转逻辑处理
在<Android 手机卫士--md5加密过程>中已经实现了加密类,这里接着实现手机防盗功能 本文地址:http://www.cnblogs.com/wuyudong/p/5941959. ...
- Android 手机卫士--安装过程中点击回退按钮
本文地址:http://www.cnblogs.com/wuyudong/p/5903707.html,转载请注明源地址. 在手机卫士之前的版本升级的对话框中: 有的用户暂时不想更新,没有点击“稍后再 ...
- Android 手机卫士--签名文件说明&包名说明
在<Android 手机卫士--打包生成apk维护到服务器>一文中,实现了新版本的apk到服务器,当打开客户端apk的时候,发现有新版本,提示更新.还实现了利用xutils工具实现了从服务 ...
- Android 手机卫士--参照文档编写选择器
本文来实现<Android 手机卫士--导航界面1的布局编写>中的图片选择器部分的代码. 本文地址:http://www.cnblogs.com/wuyudong/p/5944356.ht ...
- 【Android】Android 手机忘记锁屏密码的解决办法
对于忘记Android锁屏密码的筒子们,除重新刷包或者wipe data外,还可用adb来删除密码: 方法很简单 1.手机连接电脑,不要打开数据连接,在充电模式下进行. 2.在电脑上,解压adb.zi ...
- android手机卫士、3D指南针、动画精选、仿bilibli客户端、身份证银行卡识别等源码
Android精选源码 android身份证.银行卡号扫描源码 android仿bilibili客户端 android一款3D 指南针 源码 android手机卫士app源码 android提醒应用, ...
- Android 手机卫士--阶段小结1
本文地址:http://www.cnblogs.com/wuyudong/p/5904528.html,转载请注明源地址. 本文对之前手机卫士开发进行一个小结. 1.SplashActivity 版本 ...
随机推荐
- 实践 Neutron 前的两个准备工作 - 每天5分钟玩转 OpenStack(78)
上一节配置了 linux-bridge mechanism driver,本节再做两个准备工作: 1. 检视初始的网络状态.2. 了解 linux bridge 环境中的各种网络设备. 初始网络状态 ...
- Angular.js Services
Angular带来了很多类型的services.每个都会它自己不同的使用场景.我们将在本节来阐述. 首先我们必须记在心里的是所有的services都是singleton(单例)的,这也是我们所希望得到 ...
- Java内存模型深度解析:final--转
原文地址:http://www.codeceo.com/article/java-memory-6.html 与前面介绍的锁和Volatile相比较,对final域的读和写更像是普通的变量访问.对于f ...
- 在IE11下设置SharePoint Server 2013却遇到“需要 Internet Explorer 才能使用此功能。”的解决办法
就在昨天顺利升级到Windows 8.1 随之IE也升级到了IE11,但是当打开IE11设置SharePoint Server 2013的时候遇到了一些小情况: Figure 1使用Windows 8 ...
- 1Z0-053 争议题目解析502
1Z0-053 争议题目解析502 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 502.A database is running In ARCHIVBXXMS mode. It ...
- Cesium应用篇:3控件(6) FullScreen/ VR / Home
这三个都是按钮类的,使用也比较简单,而且也没有什么可扩展的方面,所以并无太多知识点. FullScreen和VR两个按钮在移动端也支持. Home按钮默认指向美国区域,可以指定相机默认的范围,来更改H ...
- Debugging into .NET Core源代码的两种方式
一.前言 .NET开源时间还不长,因为一直在做YOYOFx的关系,所似我常常有更深入的了解.NET Core和ASP.NET Core内容的需求,并且.NET Core平台与之前版本的变化太大,这也导 ...
- 用Vagrant创建Jenkins构建环境
这是一个关于Vagrant的学习系列,包含如下文章: Vagrant入门 创建自己的Vagrant box 用Vagrant搭建Jenkins构建环境 用Vagrant和Ansible搭建持续交付平台 ...
- SQL分页查询的几种方式
需求:查询表dbo.Message,每页10条,查询第2页 1:TOP() ) * FROM dbo.Message WHERE Code NOT IN () Code FROM dbo.Messag ...
- C#创建目录,文件名过滤特殊字符串,非法字符
string invalid = new string(Path.GetInvalidFileNameChars()) + new string(Path.GetInvalidPathChars()) ...