CN109522710A - 应用解锁的方法及装置 - Google Patents

应用解锁的方法及装置 Download PDF

Info

Publication number
CN109522710A
CN109522710A CN201811216727.8A CN201811216727A CN109522710A CN 109522710 A CN109522710 A CN 109522710A CN 201811216727 A CN201811216727 A CN 201811216727A CN 109522710 A CN109522710 A CN 109522710A
Authority
CN
China
Prior art keywords
application
lock
radio receiver
broadcast
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811216727.8A
Other languages
English (en)
Inventor
林翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Water World Co Ltd
Original Assignee
Shenzhen Water World Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Water World Co Ltd filed Critical Shenzhen Water World Co Ltd
Priority to CN201811216727.8A priority Critical patent/CN109522710A/zh
Publication of CN109522710A publication Critical patent/CN109522710A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Abstract

本发明揭示了一种应用解锁的方法及装置,基于安卓系统,应用锁为系统级应用;所述方法包括:通过广播接收器接收所述应用启动时发出的广播;接收到所述广播后,弹出对启动所述应用进行密码验证的界面;判断所述密码验证是否成功;若验证成功,则跳转至所述应用的显示界面。实现应用解锁和提高应用锁的安全性。

Description

应用解锁的方法及装置
技术领域
本发明涉及到计算机技术领域,特别是涉及到应用解锁的方法及装置。
背景技术
当前手机在生活中的重要性越来越高,其中包含的个人信息类别也越来越多,不止有个人隐私信息,还有个人金融方面的信息。针对信息可能的泄露情况,不止要防护网络端的安全侵入,也要防护好手机本身被盗取或者盗用后的安全情况。
针对以上问题,在手机上安装应用锁,对相关应用设置应用锁;但现有的应用锁一般由第三方提供,以app的形式安装在手机上,这样用户的信息依然在第三方的控制范围,安全性还是不够高;或者不能单独对应用程序设置对应的应用锁。
发明内容
本发明的主要目的为提供应用解锁的方法及装置,实现应用解锁和提高应用锁的安全性。
本发明提出一种应用解锁的方法,基于安卓系统,应用锁为系统级应用;方法包括:
通过广播接收器接收应用启动时发出的广播;
根据广播,弹出对启动应用进行密码验证的界面;
判断密码验证是否成功;
若验证成功,则跳转至应用的显示界面。
进一步地,通过广播接收器接收应用启动时的广播的步骤之前,包括:
接收进入应用对应的应用锁设置界面的指令;
检测应用锁对应应用的广播接收器是否注册;
若注册,则进入对应用进行应用锁设置的界面;
若未注册,则注册应用锁对应应用的广播接收器,并进入对应用进行应用锁设置的界面。
进一步地,接收进入应用对应的应用锁设置界面的指令的步骤之前,包括:
遍历系统中所有应用的安装包所在目录;
检测目录是否包含应用对应的包名;
若是,则在应用列表中添加包名对应的应用。
进一步地,若是,则在应用列表中添加包名对应的应用的步骤之后,还包括:
配置应用启动时所触发的广播的Intent函数;Intent函数用于发送广播给应用锁对应应用的广播接收器;
声明Intent函数的接收权限。
进一步地,则注册应用锁对应应用的广播接收器的步骤,包括:
注册应用锁对应应用的广播接收器,广播接收器用于接收Intent函数;
配置广播接收器接收Intent函数的接收权限。
本发明还提出一种应用解锁的装置,基于安卓系统,应用锁为系统级应用,装置包括:
第一接收模块,用于通过广播接收器接收应用启动时发出的广播;
弹出模块,用于根据广播,弹出对启动应用进行密码验证的界面;
判断模块,用于判断密码验证是否成功;
跳转模块,用于若验证成功,则跳转至应用的显示界面。
进一步地,装置还包括:
第二接收模块,用于接收进入应用对应的应用锁设置界面的指令;
第一检测模块,用于检测应用锁对应应用的广播接收器是否注册;
进入模块,用于若注册,则进入对应用进行应用锁设置的界面;
注册模块,用于若未注册,则注册应用锁对应应用的广播接收器,并进入对应用进行应用锁设置的界面。
进一步地,装置还包括:
遍历模块,用于遍历系统中所有应用的安装包所在目录;
第二检测模块,用于检测目录是否包含应用对应的包名;
添加模块,用于若是,则在应用列表中添加包名对应的应用。
进一步地,装置还包括:
第一配置模块,用于配置应用启动时所触发的广播的Intent函数;Intent函数用于发送广播给应用锁对应应用的广播接收器;
声明模块,用于声明Intent函数的接收权限。
进一步地,注册模块,包括:
注册单元,用于注册应用锁对应应用的广播接收器,广播接收器用于接收Intent函数;
配置单元,用于配置广播接收器接收Intent函数的接收权限。
本发明的有益效果在于,通过将应用锁以系统级应用安装在终端上并赋予root权限,应用锁读取、修改其他应用都是终端系统的过程,不需要担心安全性问题;本发明应用锁采用广播机制监听应用的系统广播,以达到应用锁监控应用的目的。
附图说明
图1为本发明应用解锁的方法一实施例的步骤示意图;
图2为本发明应用解锁的方法一实施例中步骤S1之前的步骤示意图;
图3为本发明应用解锁的方法一实施例中步骤S101之前的步骤示意图;
图4为本发明应用解锁的方法一实施例中步骤S1013之后的步骤示意图;
图5为本发明应用解锁的方法一实施例中步骤S104之前的步骤示意图;
图6为本发明应用解锁的方法一实施例中步骤S2的步骤示意图;
图7为本发明应用解锁的方法一实施例中步骤S22之后的步骤示意图;
图8为本发明应用解锁的装置一实施例的结构示意图;
图9为本发明应用解锁的装置另一实施例的结构示意图;
图10为本发明应用解锁的装置又一实施例的结构示意图;
图11为本发明应用解锁的装置再一实施例的结构示意图;
图12为本发明应用解锁的装置一实施例中注册模块的结构示意图;
图13为本发明应用解锁的装置一实施例中弹出模块的结构示意图;
图14为本发明应用解锁的装置另一实施例中弹出模块的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,本发明应用解锁的方法一实施例,基于安卓系统,应用锁为系统级应用,方法包括:
S1,接收应用启动时发出的广播;
S2,根据所述广播弹出对启动所述应用进行密码验证的界面;
S3,判断所述密码验证是否成功;
S4,若验证成功,则跳转至所述应用的显示界面。
在上述步骤S1中,上述应用锁在终端出厂就以系统级应用安装在终端上,例如手机中的相机、电话、短信,并赋予应用锁root权限(根权限),root权限为系统权限的一种,并且为系统的最高权限;上述广播接收器(BroadcastReceiver)为Android(安卓)广播机制中的组成部分;在Android中,广播是一种广泛运用在应用程序之间传输信息的机制;Android广播机制包含三个基本要素:广播(Broadcast)、广播接收器(BroadcastReceiver)和意图(Intent),Broadcast用于发送广播,BroadcastReceiver用于接收广播,Intent用于保存广播相关信息的媒介;上述Intent对应用中一次操作的动作(action)、动作涉及数据、附加数据进行描述;对于智能手机来说,上述广播由Intent描述上述应用启动这一动作并发送,广播接收器接收上述应用的这一动作;不同的应用发出的广播不一样,例如,启动微信时,发出的是微信启动这一动作的Intent函数,启动支付宝时,发出的是支付宝启动这一动作的Intent函数;广播接收器针对接收到不同应用启动的广播,进而执行不同应用对应不同验证密码的验证程序。
在上述步骤S2中,在上述应用启动到应用的显示界面之前,弹出对该应用进行密码验证的界面,即进行密码验证的界面置于应用的显示界面的上方,从而用户需要通过密码验证才能推出密码验证界面才能进入应用的显示界面;上述密码验证的密码类型包括数字密码、指纹密码、面部密码、虹膜密码、手势密码和/或语音密码。
在上述步骤S3中,若密码验证成功才能启动上述应用,若密码验证不成功则无法正常启动上述应用;以验证方式为数字密码验证为例,接收用户输入的数字信息,将数字信息与预设数字密码进行对比匹配,若数字信息与预设数字密码一致,则表示密码验证成功,若数字信息与预设数字密码不一致,则表示验证失败,从而达到锁定应用的目的。
在上述步骤S4中,若密码验证成功,则正常启动上述应用,并跳转至上述应用的显示界面;上述应用以微信为例,用户点击系统桌面上的微信图标,微信的包名被调至Activity栈顶以表示微信要启动了,则系统将微信的启动Action(动作)以Intent函数的方式发送广播,且对该广播进行接收权限声明,该广播发送至ActivityManagerService,然后ActivityManagerService根据该广播类型找到接收该广播类型的广播接收器,应用锁的广播接收器拥有接收该广播的权限,所以应用锁的广播接收器接收该广播并在微信要启动时,弹出应用的密码验证界面进行密码解锁。
本发明将应用锁以系统级应用安装在终端上并赋予root权限,应用锁读取、修改其他应用都是终端系统的过程,不需要担心安全性问题,而第三方应用锁获取读取权限和修改权限进行读取和修改操作时,相当于第三方应用锁正在查看应用的数据资料,这样存在被盗取资料的可能,存在安全性问题,所以本发明的应用锁相比第三方应用锁更安全;本发明应用锁采用广播机制监听应用的系统广播,以达到应用锁监控应用的目的。
参照图2,在本发明一实施例中,上述通过广播接收器接收应用启动时的广播的步骤S1之前,包括:
S101,接收进入所述应用对应的应用锁设置界面的指令;
S102,检测所述应用锁对应所述应用的广播接收器是否注册;
S103,若注册,则进入对所述应用进行应用锁设置的界面;
S104,若未注册,则注册所述应用锁对应所述应用的广播接收器,并进入对所述应用进行应用锁设置的界面。
在上述步骤S101中,上述指令为触发显示界面跳转至应用对应的应用锁设置界面的指令,对于智能手机来说,上述指令为点击手机设置中应用锁的应用列表中的应用图标的触屏操作所触发的指令,上述触屏操作可以是单击或双击或长按终端桌面中的应用图标的操作。
在上述步骤S102中,通过对应用启动时的行为活动创建一个Broadcast,将应用启动时的行为活动以Intent函数记录,并通过设置sendBroadcast发送带有应用启动时的行为活动数据的Intent函数,再注册用于接收上述Intent函数的BroadcastReceiver,BroadcastReceiver可通过java代码动态注册或在Manifest xml文件中静态注册,静态注册为常驻型,当应用程序关闭后,广播接收器还是会接收广播,而动态注册具有跟随Activity的生命周期,在Activity结束前,移除广播接收器;BroadcastReceiver接收到广播后,执行应用解锁的步骤。
当一个应用第一次设置应用锁时,需要注册BroadcastReceiver以监听应用的广播,但用户取消该应用的应用锁,则需要将BroadcastReceiver注销掉,动态注册的BroadcastReceiver通过unregisterReceiver注销,而静态注册可通过将该应用锁的安卓四大组件(Activity、Service服务、Content Provider内容提供、BroadcastReceiver广播接收器)从enable转化为disabled;因此,在用户第二次设置该应用的应用锁时,则需要重新注册BroadcastReceiver。
在上述步骤S103和步骤S104中,上述应用锁设置界面为应用单独一个应用锁设置界面,这个应用锁设置界面进行的应用锁设置只关联上述应用,对其他应用不影响,例如,对微信这个应用设置应用锁密码,那么上述应用锁密码只针对微信;对应用设置独立的应用锁,可提高应用的安全性,保护个人隐私信息和财产信息。
参照图3,在本发明一实施例中,上述接收进入所述应用对应的应用锁设置界面的指令的步骤S101之前,包括:
S1011,遍历系统中所有应用的安装包所在目录;
S1012,检测所述目录是否包含所述应用对应的包名;
S1013,若是,则在应用列表中添加所述包名对应的应用。
在上述步骤S1011中,每个应用都有安装包(AndroidPackage,apk)文件,将apk所在的文件路径称为目录;在一些实施例中,apk的目录包括正常apk添加时的目录/system/app和/或部分预置apk的目录/system/priv-app/;由于应用锁为系统级应用,在出厂时就被赋予了root权限,所以应用锁有权限遍历系统目录并获取目录中程序代码。
在上述步骤S1012中,检测目录中的程序代码是否包含应用对应的包名类名;不同应用的包名类名不一样,例如:
应用名称:信息。
包名:com.android.mms;类名1:com.android.mms.ui.ConversationList;
应用名称:通讯录。
包名:com.android.contacts;类名1:com.android.contacts.DialtactsActivity;
应用名称:相机。
包名:com.android.camera;类名1:com.android.camera.Camera。
包名对应的是应用的名称,类名对应的是应用中某一个应用界面的名称或选项;当上述应用信息含有上述包名和/或类名时,则在应用锁中的应用列表添加包含上述包名对应的应用。
在上述步骤S1013中,系统遍历了所有目标目录后,会获取到多个含有对应应用的包名类名,应用锁根据上述多个含有对应应用的包名类名在应用锁的应用列表中添加上述应用;用户可在上述应用列表中选择需要设置应用锁的应用。
在一实施例中,部分重要但少用的应用可能设置了单独应用锁后,出现安全密码遗忘的情况,基于安全考虑,在完全卸载该应用后,清除应用信息,使得之前用户的应用信息完全置空,不存在信息泄露的可能,并且自动取消该应用安全锁,待用户重新下载后,作为新应用来对待,以方便用户的使用以及同时保障信息安全。
参照图4,在本发明一实施例中,上述若是,则在应用列表中添加所述包名对应的应用步骤S1013之后,还包括:
S1014,配置所述应用启动时所触发的广播的Intent函数;所述Intent函数用于发送所述广播给所述应用锁对应应用的广播接收器;
S1015,声明所述Intent函数的接收权限。
在上述步骤S1014中,上述Intent(意图)主要是解决Android应用的各项组件之间的通讯;Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将Intent传递给被调用的组件,并完成组件的调用;例如,将应用启动的这个动作配置为Intent函数,在应用启动时,应用的包名会处于Activity栈顶以表示应用要启动了,此时,系统将应用启动这个动作用Intent函数的形式发送(发送广播的过程),由广播接收器接收。
在上述步骤S1015中,由于一个广播可以被多个广播接收器接收,但是被不需要的广播接收器接收会耗时耗能,所以需要对该广播进行限制;将Intent函数配置定向发送,指向特定的广播接收器,并声明接收上述广播的广播接收器需要的权限;除了声明接收上述Intent函数的接收权限外,还可以对该权限指定protectionLevel属性,例如:
android:protectionLecel=“signature”;
上述signature为只有当申请权限的应用程序的数字签名与声明此权限的应用程序的数字签名相同时,才能将权限授给它,如果是申请系统权限,则需要与系统签名相同;上述protectionLevel属性还包括:normal、dangerous和signatureOrSystem,其中,上述normal:低风险权限,只要申请了就可以使用(在AndroidManifest.xml中添加标签),安装时不需要用户确认;上述dangerous:高风险权限,安装时需要用户的确认才可使用;signatureOrSystem:签名相同,或者申请权限的应用为系统应用。
参照图5,在本发明一实施例中,上述则注册所述应用锁对应所述应用的广播接收器的步骤S104之前,包括:
S1041,注册所述应用锁对应所述应用的广播接收器,所述广播接收器用于接收所述Intent函数;
S1042,配置所述广播接收器接收所述Intent函数的接收权限;
在上述步骤S1041中,上述广播接收器可通过Java代码动态注册,或通过在Manifest xml配置文件中静态注册;注册广播接收器的同时需要设置Intent-filter(意图过滤器),即广播接收器在接收多个Intent时,需要设置接收指定的Intent。
在上述步骤S1042中,因为Intent函数被发送时声明了接收该Intent函数的权限,所以上述广播接收器接收上述Intent函数时需要获取上述Intent声明的接收权限。
参照图6,在本发明一实施例中,上述接收到所述广播后,弹出对启动所述应用进行密码验证的界面的步骤S2,包括:
S21,弹出供用户输入密码信息的对话框;
S22,接收用户输入的密码信息,并判断所述密码信息是否符合预设密码;
S23,若符合,则所述密码验证成功。
在上述步骤S21中,将界面跳转至供用户输入密码信息的对话框,用户在对话框中输入密码信息或更改输入的密码类型再输入密码信息;上述密码信息包括数字密码、指纹密码、面部密码、虹膜密码、手势密码和/或语音密码。
在上述步骤S22中,上述预设密码为与应用启动时进行应用锁解锁的解锁密码进行对比的密码验证标准。
在上述步骤S23中,若密码信息符合预设密码,则密码验证成功。
参照图7,在本发明一实施例中,上述接收用户输入的密码信息,并判断所述密码信息是否符合预设密码的步骤S22之后,还包括:
S24,若不符合,则重新弹出所述供用户输入密码信息的对话框,并统计所述密码信息连续不符合的次数;
S25,判断所述密码信息连续不符合的次数是否达到预设次数;
S26,若达到,则获取所述用户的操作信息,以及将所述操作信息上传至预设云端;其中,所述操作信息包括指纹信息、人脸图像信息和/或当前位置信息。
在上述步骤S24中,上述密码信息连续不符合的次数为连续解锁失败的次数,若上次密码验证失败,则重新进行密码验证,但当密码验证连续失败的次数达到预设次数,则不能再重新进行密码验证至预设次数被归零。
在上述步骤S25和步骤S26中,则锁定终端并调用终端上的前置摄像头抓拍当前进行解锁的操作对象,并将抓拍的图像保存到后台;此外,也可以调用终端内置的定位系统获取当前进行解锁的操作对象的位置信息;还可以获取当前进行解锁的操作对象操作时留下的指纹信息,并将上述图像、位置信息和/或指纹信息发送到预留的通信地址,同时发送到预留通信地址的信息中还携带解除锁定终端的指令。在本发明一实施例中,上述应用锁设置包括:
应用锁的密码修改设置、系统广播监听设置、解锁操作失败设置和/或解锁时效设置。
上述密码修改设置包括修改密码类型和输入新密码,上述密码类型包括数字密码、指纹密码、面部密码、虹膜密码、手势密码和/或语音密码;为安全性考虑,在进行修改密码设置前需要输入原密码以验证原密码与预设密码是否匹配,若匹配才可以进行密码修改设置;修改密码后,将新密码作为预设密码。
上述系统广播监听设置用于供用户选择是否开启应用锁,例如,用户对相册设置了应用锁,所以应用锁的广播接收器监听相册的系统广播,但用户不想每次进入相册都需要输入密码,想要把应用锁解除,所以通过系统广播监听设置关闭相册的应用锁;同理,用户想重新开启相册的应用锁时,在系统广播监听设置中开启应用锁即可。
上述解锁操作失败设置包括连续解锁失败次数设置和通信地址设置;解锁操作失败设置用于当检测到用户连续输入密码错误导致的解锁失败次数达到预设次数,则锁定终端并调用终端上的前置摄像头抓拍当前进行解锁的操作对象,并将抓拍的图像保存到后台;此外,也可以调用终端内置的定位系统获取当前进行解锁的操作对象的位置信息;还可以获取当前进行解锁的操作对象操作时留下的指纹信息,并将上述图像、位置信息和/或指纹信息发送到预留的通信地址,同时发送到预留通信地址的信息中还携带解除锁定终端的指令;在一实施例中,如果是终端用户本人操作,终端用户可以通过上述解除锁定终端的指令,重新获取解锁机会;如果不是终端用户本人操作,则终端用户本人可以通过邮箱中接收的上述上述图像、位置信息和/或指纹信息,了解是谁在进行操作,确定应用的资料数据是否被盗取,从而采取其他措施,例如报警。
上述解锁时效设置为设置解锁过程的时长,例如解锁时长为1分钟,当触发了应用的解锁界面时开始计算,用户需要在1分钟内解锁应用的应用锁,否则视为解锁失败。
参照图8,本发明应用解锁的装置一实施例,基于安卓系统,装置包括:
第一接收模块1,用于通过广播接收器接收所述应用启动时发出的广播;
弹出模块2,用于根据所述广播,弹出对启动所述应用进行密码验证的界面;
判断模块3,用于判断所述密码验证是否成功;
跳转模块4,用于若验证成功,则跳转至所述应用的显示界面。
在上述第一接收模块1中,上述应用锁在终端出厂就以系统级应用安装在终端上,例如手机中的相机、电话、短信,并赋予应用锁root权限(根权限),root权限为系统权限的一种,并且为系统的最高权限;上述广播接收器(BroadcastReceiver)为Android(安卓)广播机制中的组成部分;在Android中,广播是一种广泛运用在应用程序之间传输信息的机制;Android广播机制包含三个基本要素:广播(Broadcast)、广播接收器(BroadcastReceiver)和意图(Intent),Broadcast用于发送广播,BroadcastReceiver用于接收广播,Intent用于保存广播相关信息的媒介;上述Intent对应用中一次操作的动作(action)、动作涉及数据、附加数据进行描述;对于智能手机来说,上述广播由Intent描述上述应用启动这一动作并发送,第一接收模块1通过广播接收器接收上述应用的这一动作;不同的应用发出的广播不一样,例如,启动微信时,发出的是微信启动这一动作的Intent函数,启动支付宝时,发出的是支付宝启动这一动作的Intent函数;针对第一接收模块1接收到不同应用启动的广播,进而执行不同应用对应不同验证密码的验证程序。
在上述弹出模块2中,在上述应用启动到应用的显示界面之前,弹出模块2弹出对该应用进行密码验证的界面,即进行密码验证的界面置于应用的显示界面的上方,从而用户需要通过密码验证才能推出密码验证界面才能进入应用的显示界面;上述密码验证的密码类型包括数字密码、指纹密码、面部密码、虹膜密码、手势密码和/或语音密码。
在上述判断模块3中,若密码验证成功才能启动上述应用,若密码验证不成功则无法正常启动上述应用;以验证方式为数字密码验证为例,第一接收模块1接收用户输入的数字信息,判断模块3将数字信息与预设数字密码进行对比匹配,若数字信息与预设数字密码一致,则表示密码验证成功,若数字信息与预设数字密码不一致,则表示验证失败,从而达到锁定应用的目的。
在上述跳转模块4中,若密码验证成功,则正常启动上述应用,跳转模块4将显示界面跳转至上述应用的显示界面;上述应用以微信为例,用户点击系统桌面上的微信图标,微信的包名被调至Activity栈顶以表示微信要启动了,则系统将微信的启动Action(动作)以Intent函数的方式发送广播,且对该广播进行接收权限声明,该广播发送至ActivityManagerService,然后ActivityManagerService根据该广播类型找到接收该广播类型的广播接收器,应用锁的广播接收器拥有接收该广播的权限,所以应用锁的广播接收器接收该广播并在微信要启动时,弹出模块2弹出应用的密码验证界面进行密码解锁。
本发明将应用锁以系统级应用安装在终端上并赋予root权限,应用锁读取、修改其他应用都是终端系统的过程,不需要担心安全性问题,而第三方应用锁获取读取权限和修改权限进行读取和修改操作时,相当于第三方应用锁正在查看应用的数据资料,这样存在被盗取资料的可能,存在安全性问题,所以本发明的应用锁相比第三方应用锁更安全;本发明应用锁采用广播机制监听应用的系统广播,以达到应用锁监控应用的目的。
参照图9,在本发明一实施例中,上述装置还包括:
第二接收模块101,用于接收进入所述应用对应的应用锁设置界面的指令;
第一检测模块102,用于检测所述应用锁对应所述应用的广播接收器是否注册;
进入模块103,用于若注册,则进入对所述应用进行应用锁设置的界面;
注册模块104,用于用于若未注册,则注册所述应用锁对应所述应用的广播接收器,并进入对所述应用进行应用锁设置的界面。
在上述第二接收模块101中,上述指令为触发显示界面跳转至应用对应的应用锁设置界面的指令,对于智能手机来说,上述指令为点击手机设置中应用锁的应用列表中的应用图标的触屏操作所触发的指令,上述触屏操作可以是单击或双击或长按终端桌面中的应用图标的操作。
在上述第一检测模块102中,通过对应用启动时的行为活动创建一个Broadcast,将应用启动时的行为活动以Intent函数记录,并通过设置sendBroadcast发送带有应用启动时的行为活动数据的Intent函数,进入模块103再注册用于接收上述Intent函数的BroadcastReceiver,BroadcastReceiver可通过java代码动态注册或在Manifest xml文件中静态注册,静态注册为常驻型,当应用程序关闭后,广播接收器还是会接收广播,而动态注册具有跟随Activity的生命周期,在Activity结束前,移除广播接收器;BroadcastReceiver接收到广播后,执行应用密码验证的步骤。
当一个应用第一次设置应用锁时,需要注册BroadcastReceiver以监听应用的广播,但用户取消该应用的应用锁,则需要将BroadcastReceiver注销掉,动态注册的BroadcastReceiver通过unregisterReceiver注销,而静态注册可通过将该应用锁的安卓四大组件(Activity、Service服务、Content Provider内容提供、BroadcastReceiver广播接收器)从enable转化为disabled;因此,在用户第二次设置该应用的应用锁时,则进入模块103需要重新注册BroadcastReceiver。
在上述进入模块103和注册模块104中,上述应用锁设置界面为应用单独一个应用锁设置界面,这个应用锁设置界面进行的应用锁设置只关联上述应用,对其他应用不影响,例如,对微信这个应用设置应用锁密码,那么上述应用锁密码只针对微信;对应用设置独立的应用锁,可提高应用的安全性,保护个人隐私信息和财产信息。
参照图10,在本发明一实施例中,上述装置还包括:
遍历模块1011,用于遍历系统中所有应用的安装包所在目录;
第二检测模块1012,用于检测所述目录是否包含所述应用对应的包名;
添加模块1013,用于若是,则在应用列表中添加所述包名对应的应用。
在上述遍历模块1011中,每个应用都有安装包(AndroidPackage,apk)文件,将apk所在的文件路径称为目录;在一些实施例中,apk的目录包括正常apk添加时的目录/system/app和/或部分预置apk的目录/system/priv-app/;由于应用锁为系统级应用,在出厂时就被赋予了root权限,所以遍历模块1011有权限遍历系统目录并获取目录中程序代码。
在上述第二检测模块1012中,第二检测模块1012检测目录中的程序代码是否包含应用对应的包名类名;不同应用的包名类名不一样,例如:
应用名称:信息。
包名:com.android.mms;类名1:com.android.mms.ui.ConversationList;
应用名称:通讯录。
包名:com.android.contacts;类名1:com.android.contacts.DialtactsActivity;
应用名称:相机。
包名:com.android.camera;类名1:com.android.camera.Camera。
包名对应的是应用的名称,类名对应的是应用中某一个应用界面的名称或选项;当上述应用信息含有上述包名和/或类名时,添加模块1013则在应用锁中的应用列表添加包含上述包名对应的应用。
在上述添加模块1013中,遍历模块1011遍历了所有目标目录后,会获取到多个含有对应应用的包名类名,添加模块1013根据上述多个含有对应应用的包名类名在应用锁的应用列表中添加上述应用;用户可在上述应用列表中选择需要设置应用锁的应用。
在一实施例中,部分重要但少用的应用可能设置了单独应用锁后,出现安全密码遗忘的情况,基于安全考虑,在完全卸载该应用后,清除应用信息,使得之前用户的应用信息完全置空,不存在信息泄露的可能,并且自动取消该应用安全锁,待用户重新下载后,作为新应用来对待,以方便用户的使用以及同时保障信息安全。
参照图11,在本发明一实施例中,上述装置还包括:
第一配置模块1014,用于配置所述应用启动时所触发的广播的Intent函数;所述Intent函数用于发送所述广播给所述应用锁对应应用的广播接收器;
声明模块1015,用于声明所述Intent函数的接收权限。
在上述第一配置模块1014中,上述Intent(意图)主要是解决Android应用的各项组件之间的通讯;Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将Intent传递给被调用的组件,并完成组件的调用;例如,将应用启动的这个动作配置为Intent函数,在应用启动时,应用的包名会处于Activity栈顶以表示应用要启动了,此时,系统将应用启动这个动作用Intent函数的形式发送(发送广播的过程),由广播接收器接收。
在上述声明模块1015中,由于一个广播可以被多个广播接收器接收,但是被不需要的广播接收器接收会耗时耗能,所以需要对该广播进行限制;将Intent函数配置定向发送,指向特定的广播接收器,声明模块1015并声明接收上述广播的广播接收器需要的权限;除了声明接收上述Intent函数的接收权限外,还可以对该权限指定protectionLevel属性,例如:
android:protectionLecel=“signature”;
上述signature为只有当申请权限的应用程序的数字签名与声明此权限的应用程序的数字签名相同时,才能将权限授给它,如果是申请系统权限,则需要与系统签名相同;上述protectionLevel属性还包括:normal、dangerous和signatureOrSystem,其中,上述normal:低风险权限,只要申请了就可以使用(在AndroidManifest.xml中添加标签),安装时不需要用户确认;上述dangerous:高风险权限,安装时需要用户的确认才可使用;signatureOrSystem:签名相同,或者申请权限的应用为系统应用。
参照图12,在本发明一实施例中,上述注册模块104,包括:
注册单元1041,用于注册所述应用锁对应所述应用的广播接收器,所述广播接收器用于接收所述Intent函数;
配置单元1042,用于配置所述广播接收器接收所述Intent函数的接收权限。
在上述注册单元1041中,上述广播接收器可通过Java代码动态注册,或通过在Manifest xml配置文件中静态注册;注册单元1041注册广播接收器的同时需要设置Intent-filter(意图过滤器),即广播接收器在接收多个Intent时,需要设置接收指定的Intent。
在上述配置单元1042中,因为Intent函数被发送时声明了接收该Intent函数的权限,所以上述广播接收器接收上述Intent函数时,配置单元1042需要配置上述Intent声明的接收权限。
参照图13,在本发明一实施例中,上述弹出模块2,包括:
弹出单元21,用于弹出供用户输入密码信息的对话框;
验证单元22,用于接收用户输入的密码信息,并判断所述密码信息是否符合预设密码;
验证成功单元23,用于若符合,则所述密码验证成功。
在上述弹出单元21中,将界面跳转至供用户输入密码信息的对话框,用户在对话框中输入密码信息或更改输入的密码类型再输入密码信息;上述密码信息包括数字密码、指纹密码、面部密码、虹膜密码、手势密码和/或语音密码。
在上述验证单元22中,上述预设密码为与应用启动时进行应用锁解锁的解锁密码进行对比的密码验证标准。
在上述验证成功单元23中,若密码信息符合预设密码,则密码验证成功。
参照图14,在本发明一实施例中,上述弹出模块2,还包括:
验证失败单元24,用于若不符合,则重新弹出所述供用户输入密码信息的对话框,并统计所述密码信息连续不符合的次数;
判断单元25,用于判断所述密码信息连续不符合的次数是否达到预设次数;
获取单元26,用于若达到,则获取所述用户的操作信息,以及将所述操作信息上传至预设云端;其中,所述操作信息包括指纹信息、人脸图像信息和/或当前位置信息。
在上述验证失败单元24中,上述密码信息连续不符合的次数为连续解锁失败的次数,若上次密码验证失败,则验证失败单元24重新进行密码验证,但当密码验证连续失败的次数达到预设次数,则验证失败单元24不能再重新进行密码验证至预设次数被归零。
在上述判断单元25和获取单元26中,则锁定终端并调用终端上的前置摄像头抓拍当前进行解锁的操作对象,并将抓拍的图像保存到后台;此外,也可以调用终端内置的定位系统获取当前进行解锁的操作对象的位置信息;还可以获取当前进行解锁的操作对象操作时留下的指纹信息,并将上述图像、位置信息和/或指纹信息发送到预留的通信地址,同时发送到预留通信地址的信息中还携带解除锁定终端的指令。
在本发明一实施例中,上述应用锁设置包括:
应用锁的密码修改设置、系统广播监听设置、解锁操作失败设置和/或解锁时效设置。
上述密码修改设置包括修改密码类型和输入新密码,上述密码类型包括数字密码、指纹密码、面部密码、虹膜密码、手势密码和/或语音密码;为安全性考虑,在进行修改密码设置前需要输入原密码以验证原密码与预设密码是否匹配,若匹配才可以进行密码修改设置;修改密码后,将新密码作为预设密码。
上述系统广播监听设置用于供用户选择是否开启应用锁,例如,用户对相册设置了应用锁,所以应用锁的广播接收器监听相册的系统广播,但用户不想每次进入相册都需要输入密码,想要把应用锁解除,所以通过系统广播监听设置关闭相册的应用锁;同理,用户想重新开启相册的应用锁时,在系统广播监听设置中开启应用锁即可。
上述解锁操作失败设置包括连续解锁失败次数设置和通信地址设置;解锁操作失败设置用于当检测到用户连续输入密码错误导致的解锁失败次数达到预设次数,则锁定终端并调用终端上的前置摄像头抓拍当前进行解锁的操作对象,并将抓拍的图像保存到后台;此外,也可以调用终端内置的定位系统获取当前进行解锁的操作对象的位置信息;还可以获取当前进行解锁的操作对象操作时留下的指纹信息,并将上述图像、位置信息和/或指纹信息发送到预留的通信地址,同时发送到预留通信地址的信息中还携带解除锁定终端的指令;在一实施例中,如果是终端用户本人操作,终端用户可以通过上述解除锁定终端的指令,重新获取解锁机会;如果不是终端用户本人操作,则终端用户本人可以通过邮箱中接收的上述上述图像、位置信息和/或指纹信息,了解是谁在进行操作,确定应用的资料数据是否被盗取,从而采取其他措施,例如报警。
上述解锁时效设置为设置解锁过程的时长,例如解锁时长为1分钟,当触发了应用的解锁界面时开始计算,用户需要在1分钟内解锁应用的应用锁,否则视为解锁失败。
本发明通过将应用锁以系统级应用直接在终端上并赋予应用锁root权限,使应用锁的安全系数更高;单独对应用程序设置独立密码,而不需要与其他应用程序的密码进行关联,从而提高应用锁的安全性。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种应用解锁的方法,基于安卓系统,其特征在于,应用锁为系统级应用;所述方法包括:
通过广播接收器接收应用启动时发出的广播;
根据所述广播,弹出对启动所述应用进行密码验证的界面;
判断所述密码验证是否成功;
若验证成功,则跳转至所述应用的显示界面。
2.根据权利要求1所述的应用解锁的方法,其特征在于,所述通过广播接收器接收应用启动时的广播的步骤之前,包括:
接收进入所述应用对应的应用锁设置界面的指令;
检测所述应用锁对应所述应用的广播接收器是否注册;
若注册,则进入对所述应用进行应用锁设置的界面;
若未注册,则注册所述应用锁对应所述应用的广播接收器,并进入对所述应用进行应用锁设置的界面。
3.根据权利要求2所述的应用解锁的方法,其特征在于,所述接收进入所述应用对应的应用锁设置界面的指令的步骤之前,包括:
遍历系统中所有应用的安装包所在目录;
检测所述目录是否包含所述应用对应的包名;
若是,则在应用列表中添加所述包名对应的应用。
4.根据权利要求3所述的应用解锁的方法,其特征在于,所述若是,则在应用列表中添加所述包名对应的应用的步骤之后,还包括:
配置所述应用启动时所触发的广播的Intent函数;所述Intent函数用于发送所述广播给所述应用锁对应应用的广播接收器;
声明所述Intent函数的接收权限。
5.根据权利要求2-4任一项所述的应用解锁的方法,其特征在于,所述则注册所述应用锁对应所述应用的广播接收器的步骤,包括:
注册所述应用锁对应所述应用的广播接收器,所述广播接收器用于接收所述Intent函数;
配置所述广播接收器接收所述Intent函数的接收权限。
6.一种应用解锁的装置,基于安卓系统,其特征在于,应用锁为系统级应用,所述装置包括:
第一接收模块,用于通过广播接收器接收所述应用启动时的发出广播;
弹出模块,用于根据所述广播,弹出对启动所述应用进行密码验证的界面;
判断模块,用于判断所述密码验证是否成功;
跳转模块,用于若验证成功,则跳转至所述应用的显示界面。
7.根据权利要求6所述应用解锁的装置,其特征在于,所述装置还包括:
第二接收模块,用于接收进入所述应用对应的应用锁设置界面的指令;
第一检测模块,用于检测所述应用锁对应所述应用的广播接收器是否注册;
进入模块,用于若注册,则进入对所述应用进行应用锁设置的界面;
注册模块,用于若未注册,则注册所述应用锁对应所述应用的广播接收器,并进入对所述应用进行应用锁设置的界面。
8.根据权利要求7所述的应用解锁的装置,所述装置还包括:
遍历模块,用于遍历系统中所有应用的安装包所在目录;
第二检测模块,用于检测所述目录是否包含所述应用对应的包名;
添加模块,用于若是,则在应用列表中添加所述包名对应的应用。
9.根据权利要求8所述的应用解锁的装置,所述装置还包括:
第一配置模块,用于配置所述应用启动时所触发的广播的Intent函数;所述Intent函数用于发送所述广播给所述应用锁对应应用的广播接收器;
声明模块,用于声明所述Intent函数的接收权限。
10.根据权利要求7-9任一项所述的应用解锁的装置,其特征在于,所述注册模块,包括:
注册单元,用于注册所述应用锁对应所述应用的广播接收器,所述广播接收器用于接收所述Intent函数;
配置单元,用于配置所述广播接收器接收所述Intent函数的接收权限。
CN201811216727.8A 2018-10-18 2018-10-18 应用解锁的方法及装置 Pending CN109522710A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811216727.8A CN109522710A (zh) 2018-10-18 2018-10-18 应用解锁的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811216727.8A CN109522710A (zh) 2018-10-18 2018-10-18 应用解锁的方法及装置

Publications (1)

Publication Number Publication Date
CN109522710A true CN109522710A (zh) 2019-03-26

Family

ID=65772031

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811216727.8A Pending CN109522710A (zh) 2018-10-18 2018-10-18 应用解锁的方法及装置

Country Status (1)

Country Link
CN (1) CN109522710A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110262813A (zh) * 2019-06-25 2019-09-20 上海连尚网络科技有限公司 用于安装应用的方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120284789A1 (en) * 2011-05-06 2012-11-08 Lg Electronics Inc. Mobile device and control method thereof
CN106470269A (zh) * 2015-08-20 2017-03-01 腾讯科技(深圳)有限公司 一种手机防盗的方法和装置
CN106778173A (zh) * 2016-12-15 2017-05-31 北京数字天域科技有限责任公司 一种基于智能操作系统的应用锁设置的方法及装置
CN106778090A (zh) * 2016-12-14 2017-05-31 北京小米移动软件有限公司 应用程序应用锁处理方法、装置及设备
CN106940609A (zh) * 2017-02-14 2017-07-11 深圳市金立通信设备有限公司 一种用户界面控制方法及终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120284789A1 (en) * 2011-05-06 2012-11-08 Lg Electronics Inc. Mobile device and control method thereof
CN106470269A (zh) * 2015-08-20 2017-03-01 腾讯科技(深圳)有限公司 一种手机防盗的方法和装置
CN106778090A (zh) * 2016-12-14 2017-05-31 北京小米移动软件有限公司 应用程序应用锁处理方法、装置及设备
CN106778173A (zh) * 2016-12-15 2017-05-31 北京数字天域科技有限责任公司 一种基于智能操作系统的应用锁设置的方法及装置
CN106940609A (zh) * 2017-02-14 2017-07-11 深圳市金立通信设备有限公司 一种用户界面控制方法及终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
佚名: ""华为nova3中设置应用锁的具体流程介绍(https://pcedu.pconline.com.cn/1176/11767118.html)"", 《太平洋电脑网》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110262813A (zh) * 2019-06-25 2019-09-20 上海连尚网络科技有限公司 用于安装应用的方法和装置
CN110262813B (zh) * 2019-06-25 2020-11-17 上海连尚网络科技有限公司 用于安装应用的方法和装置

Similar Documents

Publication Publication Date Title
US11128750B1 (en) Methods and devices for secure authentication to a compute device
CN105791284B (zh) 一种数据安全传输装置及方法
CN108985024B (zh) 响应于试图访问敏感信息的认证技术
US9497220B2 (en) Dynamically generating perimeters
US7540024B2 (en) Security features for portable computing environment
CN103686722B (zh) 访问控制方法及装置
US9848001B2 (en) Secure access to mobile applications
CN103336924B (zh) 用于移动终端应用程序的启动锁
CN106357672B (zh) 一种登录方法和终端
US11212283B2 (en) Method for authentication and authorization and authentication server using the same for providing user management mechanism required by multiple applications
WO2012088974A1 (zh) 一种操作系统的解锁方法及装置
CN103813334A (zh) 权限控制方法和权限控制装置
US9455985B2 (en) Method for secure key injection with biometric sensors
CN103023649A (zh) 一种隐私信息保护方法、装置和设备
CN103824016A (zh) 应用防卸载方法及设备
WO2018000370A1 (zh) 一种移动终端的认证方法及移动终端
WO2016126668A1 (en) External resource control of mobile devices
CN103269402B (zh) 一种手机隐私保护系统及保护方法
WO2017084569A1 (zh) 在智能终端中获取登陆凭证的方法、智能终端以及操作系统
CA3160728A1 (en) Method of realizing intelligent equipment system, method of controlling intelligent equipement, and system
CN105279423A (zh) 一种密码管理方法及装置
CN108694329B (zh) 一种基于软硬件结合的移动智能终端安全事件可信记录系统及方法
CN109522710A (zh) 应用解锁的方法及装置
CN105227521A (zh) 通信终端及其安全管理方法、装置
CN106778173B (zh) 一种基于智能操作系统的应用锁设置的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190326

RJ01 Rejection of invention patent application after publication