问题标签 [accessibilityservice]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1315 浏览

android - 无法通过 Android AccessibilityService 访问通知

我正在尝试使用 AccessibilityService 访问我的 android 手机上的通知。

我尝试制作服务并从主要活动中调用它。我还为该服务添加了元数据。它不工作。我看不到服务的触发。

我正在使用 Android L 进行测试。在辅助功能设置中,我将我的应用程序“通知”添加为开启。

提前致谢。

我的主要活动

这是我的服务班

我声明服务的清单

请帮忙。提前致谢。我试过研究一些例子。我找不到错误。

0 投票
3 回答
4119 浏览

android - AccessibilityService 无法接收 onKeyEvent 或 onGesture

我是一名中国学生,正在做一些Android安全方面的研究。(我的句子中可能有一些语法错误)我想使用无障碍API来捕捉用户的行为,例如点击IME的键盘和选择某些字符。 . 但是当我尝试这个 API 时,我只能获取当前窗口的文本和用户执行的操作,而不是来自键盘的任何事件。也许我错过了什么。(我无法从 onKeyEvent 和 onGesture 接收任何事件。但我可以从 onAccessibilityEvent 接收事件。)

我创建了以下基本的无障碍服务。

AndroidManifest.XML:

phone_accessibility.xml:

0 投票
1 回答
88 浏览

android - 在 API 16 android 中运行 AccessibilityService 时记录 cat unknown 错误

当我尝试在 android 的 API 16 中运行我的代码时,出现了未知的 logcat 警告和错误消息。它在 Android L 中运行。我正在尝试使用代码获取通知。

有谁能知道这个。请帮忙。

我无法运行该服务,它不工作。据我所知,代码应该从 API 级别 14 开始工作。

要参考代码,请查看我在无法通过 Android AccessibilityService 访问通知的答案

0 投票
0 回答
548 浏览

android - 显示最近的应用程序列表 - getRecentTasks、AccessibilityService 或 UsageStatsManager

我应该更喜欢什么方法?我希望我的解决方案可以在 android 4.2 以上版本上运行,也可以在 L 和 M 上运行。

  • getRecentTasks - 不再适用于 android L...

  • AccessibilityService - 我自己监控活动的应用程序,因此我可以始终显示最近的应用程序列表,而无需查询任何 android 资源。

  • UsageStatsManager - 我每次需要信息时都会查询经理,这样我就可以显示最近的应用程序

问题

  • 哪种方法比另一种更好?特别是关于能源消耗?我不希望我的应用程序消耗更多的电量...
  • 有谁知道替代解决方案?甚至更好的?

目前我决定使用AccessibilityService,正如我所读的那样,UsageStatsManager如果我查询很长一段时间并且我的应用程序总是会查询总的运行时间段,那么它可能会很慢......

0 投票
2 回答
3051 浏览

android - 如何直接打开我的应用程序的辅助功能设置?

如此处所述:如何在 Android 中启动我的 APP 的辅助功能设置页面? 我可以使用以下代码直接打开我的应用辅助功能设置:

但我测试了很多东西,比如应用程序名称、包名称、服务类名称等,而不是“你想要显示的片段”,但没有奏效。

0 投票
1 回答
3753 浏览

android - 在警报对话框中自定义 Android 对讲?

我已经通过 Android TalkBack 检查了所有默认警报对话框。默认的 Android 对讲行为是它读取对话框中的所有内容(不间断)。有什么方法可以根据我的需要定制它。例如 :

当对话框出现时,它会自动读取“警报对话。这是我的警报对话。好的。” 但我想控制它,就像它应该只读取“警报对话”或“这是我的警报对话”等。

在点击“确定”时,它只显示“确定”,而不是“确定按钮”。

0 投票
2 回答
10245 浏览

android - 如何在应用程序启动后立即为我的应用程序启用辅助功能设置

我正在尝试在应用程序启动后立即为我的应用程序启用辅助功能设置。但我目前无法做到。我使用了以下代码:

要使用此代码片段,我们必须声明以下权限:

WRITE_SECURE_SETTINGS,但此权限仅适用于系统应用程序。如何为我的应用程序实现相同的功能。欢迎所有建议。

0 投票
2 回答
3812 浏览

android - 崩溃后重新启动辅助功能服务

在我的应用程序中有一个Service和一个AccessibilityService。现在它Service被无障碍服务绑定以接收信息。

我会Service定期检查是否AccessibilityService已启用,如果未启用,它会向用户发送通知,告知其必须启用它。

启用后,AccessibilityService开始工作。首先它绑定到 my Service,然后开始发送信息。

问题是如果AccessibilityService崩溃。它保持启用状态,但没有正在运行的实例。所以我Service发现它已启用,但实际上AccessibilityService并没有运行。

如何检查AccessibilityService

Q1:为什么AccessibilityService安卓系统崩溃时不重启?

Q2:我可以更改我的代码以检查是否AccessibilityService已启用但也有一个正在运行的实例?

0 投票
0 回答
258 浏览

java - !=null 之后的 NPE

我正在使用辅助功能服务,我正面临一个非常奇怪的NPE.

onAccessibilityEvent(AccessibilityEvent event)方法里面我有这个代码。

我收到的崩溃报告说,isEditable()即使我检查了它不是空指针,它也是在空指针上执行的。不幸的是,这不会发生在我的任何设备上。另一个奇怪的事情是 NP 只在else if,if被检查没有任何问题。

这是我以前的代码

朋友建议我切换到第一个代码(检查然后分配),但它仍然没有帮助

感谢您提前提供任何帮助。

编辑: 大多数时候,我认为这waiting就是大部分从falseNPEelse if

编辑2:

isEditable()是 Android 的一部分,请参见isEditable()

0 投票
1 回答
253 浏览

android - onServiceConnected() 处的空指针异常

编辑2:我刚刚意识到我没有用新的 AccessibilityServiceInfo 初始化信息,我只是愚蠢。

我正在尝试使用 AccessibilityService 来收听和检索从我的其他应用程序到手机(youtube、facebook、sms)的通知信息

它崩溃并且 logcat 在 onServiceConnected 上报告空指针异常

谷歌搜索后,我认为这可能是由于活动尚未绑定到服务,因此无法启动它?

我需要绑定无障碍服务吗?

如果是这样,我该怎么做?

我的 AccessibilityListener 类中有这些代码

以及我活动中的这些代码

编辑:根据要求,在 logcat 中添加