问题标签 [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 投票
4 回答
18171 浏览

android - 收到通知时如何获得通知

我想读取/访问/记录其他应用程序在通知栏上触发的通知。

我搜索IntentsPendingIntents很多,但找不到解决方案。

触发任何通知时是否需要通知我的应用程序?

或者 android 系统是否提供了一些东西来读取用户级应用程序的通知?

0 投票
2 回答
10143 浏览

android - AccessibilityService 已启动,但在 JellyBean 上未收到 AccessibilityEvents

我有一个 AccessibilityService 可以读出任何传入的通知。它确实适用于 ICS 及以下版本,但停止使用 JB。

以下是清单和代码:


如前所述,它确实可以像魅力一样在所有 preJB-Devices 上工作,但是在 JB 上服务启动(我得到“我们已连接”),但没有触发任何事件。

代码有什么问题吗?

0 投票
0 回答
1101 浏览

android - 如何调试无障碍服务?

我在调试AccessibilityService时遇到了一些问题并且找不到解决方案 - 每次从 Eclipse部署/调试时,服务都不会自动重新启动,它需要手动重新启动服务。

我现在被迫做的事情:

  1. 我正在添加一些新代码并使用 Eclipse 进行部署/调试。
  2. 应用程序已正确部署并启动,但未启动新版本的服务(来自服务的消息未显示且断点不起作用)。
  3. 我正在手动打开设置-> 可访问性并看到我的服务运行。
  4. 我正在手动停止和启动服务 - 现在服务正在运行。

我想以更快的方式做到这一点:

  • 我正在添加一些代码并进行部署,重新启动服务,然后断点工作,无需任何手动无聊的重新启动

您能否建议如何在不手动重新启动的情况下调试无障碍服务?

0 投票
4 回答
7659 浏览

android - 检测通知是否已被删除

我有以下问题。我想检测何时从通知栏中删除了通知。

我可以使用 AccessbilityService 扫描通知并将其 ParcelableData 转换为通知

我的一个想法是,利用通知的 PendingIntent 是否已被点击,但我找不到任何关于如何检测的信息。

有任何想法吗?我有点绝望......现在尝试了几个小时。

0 投票
0 回答
97 浏览

android - 某些系统通知未在 AccesibilityService 下注册

像许多其他人一样,我希望我的应用程序检测通知,因为我的应用程序需要为每个通知隐藏。

大多数状态栏通知都能正常到达。但是 2 个系统通知不会注册:

  • 每次设备检测到开放无线网络时都会显示可用的 Wifi。

  • 连接为 MTP 的媒体存储。

我在 nexus 设备上运行 4.2.2。

我的可访问性服务信息如下:

谢谢你。

0 投票
2 回答
2879 浏览

android - 使用无障碍服务获取通知图标

有没有办法获取系统通知的图标?我可以通过无障碍服务获得通知包裹。我什至可以从中获取图标的 id,但我被困在那里。我不知道如何使用 id 来获取实际的位图以便我可以显示它,因为它不是来自我的 apk。

到目前为止,这是我的代码:

尝试使用此 ID 会导致

android.content.res.Resources$NotFoundException:资源 ID #0x7f0200ad

0 投票
1 回答
2030 浏览

java - AccessibilityService 在重新启动时停止接收事件

我有一个使用无障碍服务来收听通知的应用程序。它可以正常工作,直到用户重新启动。如果您重新启动,您必须从无障碍服务菜单中禁用/重新启用该服务。

为什么应用程序在重新启动后无法获取事件?

和xml

和清单

0 投票
0 回答
3526 浏览

android - Android AccessibilityService 无法连接

我正在尝试扩展 AccessibiltyService 以拦截通知事件。我的问题是我的类是由它创建的,它从不连接到服务。

这就是我的应用程序的工作方式:

  • 有一个服务 (StatisticsService) 管理多个统计信息的收集,并且还需要监视通知事件。
  • 为此,它为每个感兴趣的统计数据创建一个 StatCollector(一个 java 对象)。
  • 所有 StatCollector 都实现相同的接口,并且一旦创建它们就会存储 StatisticService 上下文。
  • 这个 StatCollector 之一启动了我的 NotificationService,它扩展了 AccessibilityService。

以下是相关的类:

统计收集器:

通知服务:

Manifest.xml:(相关组件)

请注意,如果我将 android.permission.BIND_ACCESSIBILITY_SERVICE 添加到 NotificationService 应用程序崩溃并出现以下错误

我认为问题在于系统忽略了我的 NotificationService 类,因为它没有明确提到它具有 BIND_ACCESSIBILITY_SERVICE 权限。但是如果我将它添加到清单文件中的服务中,应用程序就会崩溃。

我错过了什么/做错了什么?

谢谢

更新

感谢Cyanide博士的评论,我发现用户应该在设置下的辅助功能菜单中为某个应用程序启用辅助功能。

此外,标签

对于前果冻豆版本来说不是必需的,所以我已经删除了它,因为我使用的是 ICS。

现在该应用程序完全按预期工作

0 投票
2 回答
1327 浏览

android - 无障碍服务的“onAccessibilityEvent”功能未被调用

我正在开发的应用程序遇到了一个相当不幸的问题,该应用程序利用可访问性服务在通知到达用户设备时对通知进行一些特殊处理。问题是,它工作得很好,但服务的“onAccessibilityEvent”功能永远不会被调用,除非服务从 Android 的辅助功能页面重新启动,即我必须首先从该页面启用服务,然后禁用它,然后再按顺序启用它完全调用“onAccessibilityEvent”。

我已经尝试使用Google 的示例而不进行任何更改,但即便如此,我似乎仍然遇到同样的问题,所以我不确定这里发生了什么。有没有人遇到过这个问题?

0 投票
0 回答
174 浏览

android - 检查是否存在任何 Android 通知

我希望能够以编程方式检查状态栏中是否存在任何通知(最好只有非永久通知)。这应该包括所有通知,而不仅仅是我的应用程序创建的通知。我不需要有关特定通知甚至总数的信息,我只想知道当前状态栏中是否显示通知。

我进行了研究,发现我可能不得不处理无障碍服务。很好,但到目前为止我还没有找到检查当前通知的解决方案,到目前为止所有的解决方案都只展示了如何检测新通知。我希望能够随时查询并检查通知的存在。

一个(丑陋的)选择是不断跟踪所有新通知和清除通知,但我担心这可能不可靠。我想知道是否有更简单或更清洁的方法。

任何指导都会非常有帮助。