我写的辅助服务,以避免USSD请求过程中AlertWindow开幕:Xamarin.Android:如何开启无障碍服务永久

[Service(Label = "BalanceAccessibilityService", Permission = "android.permission.BIND_ACCESSIBILITY_SERVICE")]

[IntentFilter(new string[] { "android.accessibilityservice.AccessibilityService" })]

public class BalanceAccessibilityService : AccessibilityService

{

static readonly string Tag = "SmsService:" + typeof(BalanceAccessibilityService).Name;

protected override void OnServiceConnected()

{

base.OnServiceConnected();

AccessibilityServiceInfo info = new AccessibilityServiceInfo();

info.Flags = AccessibilityServiceFlags.Default;

info.PackageNames = new string[] { "com.android.phone" };

info.EventTypes = EventTypes.WindowStateChanged;

info.FeedbackType = FeedbackFlags.Generic;

SetServiceInfo(info);

}

public override void OnAccessibilityEvent(AccessibilityEvent e)

{

Log.Info(Tag, $"onAccessibilityEvent: type = {e.EventType.ToString()} package = {e.PackageName}");

AccessibilityNodeInfo info = e.Source;

if (e.EventType == EventTypes.WindowStateChanged && !e.PackageName.Equals("com.android.phone"))

return;

if (e.EventType == EventTypes.WindowContentChanged && (info == null || !info.ClassName.Equals("android.widget.TextView")))

return;

if (e.EventType == EventTypes.WindowContentChanged && TextUtils.IsEmpty(info.Text))

return;

if (Build.VERSION.SdkInt >= BuildVersionCodes.M)

PerformGlobalAction(GlobalAction.Back);

else

{

Intent intent = new Intent(Intent.ActionCloseSystemDialogs);

SendBroadcast(intent);

}

}

public override void OnInterrupt()

{

Log.Info(Tag, "OnInterrupt");

}

}

所有的工作,但问题是,当我的应用程序停止设置开关 - >辅助功能 - >服务 - > BalanceAccessibilityService关闭。因此,如果我再次启动我的应用程序而无需再次用手切换此切换器,则我的服务无法启动。现在,我用这样的代码,开关等它在MainActivity的onCreate方法:

Intent intent = new Intent(Settings.ActionAccessibilitySettings);

StartActivityForResult(intent, 0);

,但我认为这是不正常的,因为其他服务,如电网无污染或Android援助是足够多的将其切换一次,他们永远不会自行关闭。 有人可以告诉我我犯了什么错误吗?

2017-04-18

Hermann

+1

您是否每次都使用VS启动您的应用程序? –

+0

@ ElvisXia-MSFT,我不确定我是否试图用手启动它...我现在尝试 –

+0

@ ElvisXia-MSFT,是的,非常感谢!问题是我使用Xamarin Studio启动我的应用程序。 –

android自动启动无障碍服务,Xamarin.Android:如何开启无障碍服务永久相关推荐

  1. 计算机管理服务哪个是打印机的,开启打印机服务,教您win7开启打印机服务

    打印机是我们在日常的工作中经常都会使到的打印设备,我们也知道,打印机要使用的话就要确保打印机服务是否有开启:如果打印机服务没有开启的话,就无法打印或者打印出错.我们在Win7系统上打印的时候,提示打印 ...

  2. android 添加意图,c# - Xamarin.Android:如何为每个通知添加唯一的意图 - 堆栈内存溢出...

    我将Intent添加到Android.Support.V4.App.NotificationCompat.Builder但Extras没有传递到OnNewIntent的重写中,并且似乎该参数始终是相同 ...

  3. android安装包大小,xamarin Android 安装包大小的理解

    版本包 若要提供完全包含的应用程序,包必须包含应用程序.关联库.内容.Mono 运行时以及所需的基类库 (BCL) 程序集. 例如,如果我们使用默认的"Hello World"模板 ...

  4. oracle怎样开启服务,Oracle 11g必须开启的服务及服务详细介绍

    安装Oracle g数据库后你会发现自己电脑运行速度会变慢配置较低的电脑甚至出现非常卡的状况通过禁止非必须开启的Oracle服务可以提升电脑的运行速度那么具体该怎么做呢? 按照win 位环境下Orac ...

  5. 使用Xamarin.Android中的Google登录OAuth 2.0对用户进行身份验证

    什么是用户认证? (What is User Authentication?) There is a user base associated with every app that is avail ...

  6. xamarin.android 控件,Android 库控件 - Xamarin | Microsoft Docs

    Xamarin Android 库控件Xamarin.Android Gallery control 03/15/2018 本文内容 Gallery是一种布局小组件,用于显示水平滚动列表中的项,并将当 ...

  7. Xamarin Android 所见即所得问题

    Xamarin Android 所见即所得问题 原文:Xamarin Android 所见即所得问题 运行Xamarin 时出现以下问题. The layout could not be loaded ...

  8. xamarin android 布局,Xamarin.Android 上中下布局

    xml代码: xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_par ...

  9. 自动和手动开启无障碍服务的方式

    自动开启 条件:系统应用 方式:通过Settings.Secure.putString. 代码如下:最好在开启和关闭前进行判断当前无障碍服务是否已经开启. //自动开启无障碍服务 private fu ...

最新文章

  1. python使用matplotlib可视化条形图、使用barh函数可视化条形图(使用barh函数可视化多分类的并行条形图、side by side)
  2. 二叉树重建(c++)
  3. HttpUrlConnection使用详解--转
  4. linux 正则表达式与实践
  5. 【WebPack】WebPack的安装、使用WebPack打包 js/css/img 等文件
  6. BZOj #4771. 七彩树(主席树+dfn序+lca)
  7. 前端学习(3002):vue+element今日头条管理--模块介绍
  8. Java集合框架——概述
  9. 莫比乌斯反演(bzoj 2301: [HAOI2011]Problem b)
  10. .NET Core技术研究-通过Roslyn代码分析技术规范提升代码质量
  11. python 计算gdp_菜鸟笔记Python3——数据可视化(三)世界GDP分析
  12. 硬货专栏 |深入浅出 WebRTC AEC(声学回声消除)
  13. 免费分享一个最完美的英语学习素材 Englishpod
  14. 搭建LDAP服务器详细流程
  15. 2020年3月24日360笔试题目
  16. 图像处理(4) : 图像颜色
  17. 孟岩:算力是新数字经济的支点,去中心化网络资产规模将达10万亿美元
  18. ES6 (二十二)Class 的继承、extends关键字、super 关键字(函数调用(constructor)、对象(父类原型对象))、原型对象(原型链)、Mixin 模式
  19. 干洗店收银系统应具备的功能
  20. 基于OPENCV和图像减法的PCB缺陷检测

热门文章

  1. 墨菲定律、彼得定律、 帕金森定律
  2. python绘制柱状图和折线图_python(matplotlib)中如何把折线图和柱状图画在一起?
  3. 中国联通“出手”了,率先上线携号转网,网友:只能转入不能转出
  4. Linux下通过Wine安装微信
  5. 三星手机总是电量不够,这4个功能一定要设置,不然越来越耗电
  6. 三维家如何借助云变革家居行业
  7. SAP打印设置(假脱机)与打印乱码
  8. 帝国cms 主导航条下拉菜单功能实现,模板功能扩展
  9. 江苏民丰 x mPaaS | 县域小银行,技术团队就12人,却找到了数字化转型的秘籍
  10. WeGame,请介绍下你自己