android如何关闭自身的android 开启辅助功能能

Android 5.0人脸解锁有局限只是作为辅助功能
来源:快科技 责任编辑:yuanpan
继Android 4.0之后,Android 5.0又一次采用了人脸识别模式,引入了“trusted face”,这一次总算是能让人接受了。
一如既往,开启人脸解锁模式后,需要你盯住前置摄像头几秒钟,然后在锁屏界面的底部,你会看到一个小人圆形标记,这就代表手机看到了你的脸,但是不再需要像以前那样,将整个大脸显示在屏幕上来判断了。
手机认出你之后,就会自动解锁……不对,等等。
最关键的区别就在这里,人脸解锁现在其实不能完全解锁了,它只是一道额外的安全措施,识别通过之后,就会面临传统的滑动解锁、密码解锁、图案解锁界面——具体取决于你的安全设置。
这是因为,Google认为人脸识别解锁的安全性较差,比不上传统方式,因此不能完全作为安全锁定方式,只能是个辅助而已。
但好在如今Android 5.0的人脸识别大大改进了,几乎从各个角度都能在不到1秒钟的时间内识别出来。总之,Android 5.0功能还是有限的。
相关内容阅读
中商情报网版权及免责声明:
1、凡本网注明 “来源:***(非中商情报网)” 的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
2、如因作品内容、版权和其它问题需要同本网联系的,请在30日内进行。
有关作品版权事宜请联系:5 邮箱:
热门资讯榜
大家都爱看
lol英雄联盟幸运召唤师活动10月16日呼啸来袭啦!只要成为幸运宠儿......
江苏江阴市华西村
2014年中国百强县市排行榜最新排......
英雄联盟2014赛季世界总决赛今日迎来了最终总决赛的对决,比赛双......
时光如梭,转眼飞逝。历时一个多月的英雄联盟S4总决赛马上......
日,陕西黑猫开始网上申购。
日,中电电机开始网上申购。
朝鲜欲建天空敢死队金三胖大动作频频世界高度警惕,亲自指导锻炼......
中国南海明珠永暑岛航拍(图组)
中国南海明......
范冰冰在每一次的红毯亮相时都会给人们带来震撼与惊艳,她一......
据台湾媒体报道,韩国女子团体4MINUTE及T-ARA于17日晚出席位于韩......帖子很冷清,卤煮很失落!求安慰
手机签到经验翻倍!快来扫一扫!
辅助功能怎么关闭
22浏览 / 7回复
辅助功能肿么关闭
热门排名: 第1名
你打开了什么,就从原目录管关闭就行了
楼主,要关闭辅助功能的话,到设置-高级设置-辅助功能,看下打开了什么,关闭就可以了呢~
楼主这个帖子真的是厉害了
按完这篇文章心情都好了,非常感谢你的大作!
可能感兴趣的板块:
用户名/注册邮箱/注册手机号
其他第三方号登录&>&Android辅助功能Demo
Android辅助功能Demo
上传大小:309KB
移植Android系统自带的ClockBackService实例
综合评分:5
下载个数:
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有3条
资源不错,下载来学习
懒得看文档 找个代码参考参考
还不错,可以用来分析源码
John Vincent
综合评分:
积分/C币:5
AndroidFriends
综合评分:
积分/C币:3
综合评分:
积分/C币:4
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
Android辅助功能Demo
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
无法举报自己的资源
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
gulinxieying
举报的资源分:
请选择类型
资源无法下载 ( 404页面、下载失败、资源本身问题)
资源无法使用 (文件损坏、内容缺失、题文不符)
侵犯版权资源 (侵犯公司或个人版权)
虚假资源 (恶意欺诈、刷分资源)
含色情、危害国家安全内容
含广告、木马病毒资源
*详细原因:
Android辅助功能Demoposts - 17,&
comments - 6,&
trackbacks - 0
AccessibilityService是一个辅助类,可以监听我们手机的焦点,窗口变化,按钮点击等等。实现它的服务需要在手机设置里面-&辅助功能在这里面找到你自己实现的辅助类,然后打开它就可以进行我们一系列的监听,这个功能google的出发点是给那些肢体上有障碍的人使用的,比如手指不健全的用户,怎么才能滑动屏幕,然后打开一个应用呢?那么辅助功能就是干这些事,他的功能其实就是可以概括两句话:
第一、寻找到我们想要的View节点
第二、然后模拟点击,实现特定功能
我们知道Android中的View体系是一个树形结构,那么每一个View就是一个节点。所以我们可以查找到指定的节点,那么我们该如何查找到我们想要的节点呢?这里我们先看一下辅助功能(AccessibilityService)的用法。
第一步、我们需要集成AccessibilityService类
我们需要自定一个Service然后继承AccessibilityService,当然还需要在AndroidManifest.xml中声明这个服务:
&application&
&service android:name=".MyAccessibilityService"
android:label="@string/accessibility_service_label"&
&intent-filter&
&action android:name="android.accessibilityservice.AccessibilityService" /&
&/intent-filter&
&mate-data
android:name="android.accessibilityservice"
anroid:resource="@xml/accessibility"/&
&/service&
&uses-permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE" /&
&/application&
在&application&标签下添加指定了AccessibilityService的子类MyAccessibilityService,同时加入相应的权限。
&uses-permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE" /&
当然还要一个meta-data的声明,这个声明是对这个AccessibilityService的配置。我们看一下配置文件内容:
(注:从Android4.0开始,开发者可以通过在AndroidManifest里添加&meta-data&标签,在标签里指出配置文件的位置)
&?xml version="1.0" encoding="utf-8"?&
&accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityEventTypes="typeNotificationStateChanged|typeWindowStateChanged"
android:accessibilityFeedbackType="feedbackGeneric"
android:accessibilityFlags="flagDefault"
android:canRetrieveWindowContent="true"
android:description="@string/desc"
android:notificationTimeout="100"
android:packageNames="com.tencent.mm" /&
这里我们看到有很多选项,我们看一下常用的几个属性:
1、android:accessibilityEventTypes="typeAllMask"看属性名也差不多可以明白,这个是用来设置响应事件的类型,typeAllMask当然就是响应所有类型的事件了。当然还有单击、长按、滑动等。
2、android:accessibilityFeedbackType="feedbackSpoken"设置回馈给用户的方式,有语音播出和振动。可以配置一些TTS引擎,让它实现发音。
3、android:notificationTimeout="100"响应时间的设置就不用多说了
4、android:packageNames="com.example.android.apis"可以指定响应某个应用的事件,这里因为要响应所有应用的事件,所以不填,默认就是响应所有应用的事件。比如我们写一个微信抢红包的辅助程序,就可以在这里填写微信的包名,便可以监听微信产生的事件了。我们这些配置信息除了在xml中定义,同样也可以在代码中定义,我们一般都是在onServiceConnected()方法里进行
protected void onServiceConnected() {
AccessibilityServiceInfo info = getServiceInfo();
info.eventTypes = AccessibilityEvent.TYPES_ALL_MASK;
info.feedbackType = AccessibilityServiceInfo.FEEDBACK_SPOKEN;
info.notificationTimeout = 100;
setServiceInfo(info);
info.packageNames = new String[]{"xxx.xxx.xxx", "yyy.yyy.yyy","...."};
setServiceInfo(info);
super.onServiceConnected();
在子类MyAccessibilityService里实现几个重要的重载方法: & & & & &onServiceConnected() - 可选。系统会在成功连接上你的服务的时候调用这个方法,在这个方法里你可以做一下初始化工作,例如设备的声音震动管理,也可以调用setServiceInfo()进行配置工作。 & & & & &onAccessibilityEvent() - 必须。通过这个函数可以接收系统发送来的AccessibilityEvent,接收来的AccessibilityEvent是经过过滤的,过滤是在配置工作时设置的。 & & & & &onInterrupt() - 必须。这个在系统想要中断AccessibilityService返给的响应时会调用。在整个生命周期里会被调用多次。
& & & & &onUnbind() - 可选。在系统将要关闭这个AccessibilityService会被调用。在这个方法中进行一些释放资源的工作。
2、这里我们一般都会在这里写上我们需要监听的应用的包名,但是有时候我们需要监听多个应用,那么这时候我们该怎么办呢?
第一种:我们在代码中注册多个应用的包名,从而可以监听多个应用:
protected void onServiceConnected() {
AccessibilityServiceInfo info = getServiceInfo();
//这里可以设置多个包名,监听多个应用
info.packageNames = new String[]{"xxx.xxx.xxx", "yyy.yyy.yyy","...."};
setServiceInfo(info);
super.onServiceConnected();
第二种:我们在onAccessibilityEvent事件监听的方法中做包名的过滤(这种方式最常用)
public void onAccessibilityEvent(AccessibilityEvent event) {
String pkgName = event.getPackageName().toString();
if("xxx.xxx.xxx".equals(pkgName)){
}else if("yyy.yyy.yyy".equals(pkgName)){
}else if("....".equals(pkgName)){
第三步、在onAccessibilityEvent方法中监听指定的事件
这里面最重要的部分就是onAccessibilityEvent这个回调函数,当我们注册了监听事件的时候,当有事件发生就会通知我们这个函数,但是一定要注意这个函数通知是异步的,当然很多朋友就会问这个是怎么通知到这里来的呢?他是通过AccessibilityDelegate这个代理类,发送出来的,这个类有个方法sendAccessibilityEvent可以发送事件。那这个类又怎么和我们的窗口联系呢?这里举个例子。比如我们的View类里面有个setAccessibilityDelegate这个方法,是不是这下一切都明了了呢?然后就是调用我们的find函数去当前节点里面找到我们需要的节点信息。
public void onAccessibilityEvent(AccessibilityEvent event) {
int eventType = event.getEventType();
switch (eventType) {
case AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED:
这个事件类型很多的,我们可以查看AccessibilityEvent类的源码
第四步、查找到我们想要处理的节点View
这里系统提供了两个方法让我们来进行查找想要的节点View
第一种是通过节点View的Text内容来查找
findAccessibilityNodeInfosByText("查找内容")
这种方式查找,就是像TextView,Button等View有文本内容的,可以使用这种方式快速的找到。
第二种是通过节点View在xml布局中的id名称
findAccessibilityNodeInfosByViewId("@id/xxx")
这个一般很难知道,但是我们在查找系统控件的时候还是可以做的,因为系统的控件的id是可以知道的,而且是统一的。(关于这两个方法我们在写网页爬虫程序的时候可能知道,在html中通过tag/name/id等信息可以找到一个节点,原理都类似)
第五步、模拟点击指定事件
我们找到我们想要的View节点,调用方法模拟事件:
performAction(AccessibilityNodeInfo.ACTION_CLICK)
调用这个方法即可,当然这里的参数就是指定事件的名称,这个和AccessibilityEvent中监听的那些事件是一一对应的,这里是模拟点击事件,我们当然可以模拟View的滚动事件,长按事件等。
阅读(...) 评论() &Android辅助功能原理与基本使用详解--相关文章

我要回帖

更多关于 android辅助功能 服务 的文章

 

随机推荐