- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在我的应用程序中,我必须捕获新的传入电子邮件消息通知并在屏幕上播放描述该事件的视频。我正在使用 onAccessibilityEvent(AccessibilityEvent event)
来收听生成的通知。我还使用以下代码来初始化我的 AccessibilityService:
AccessibilityServiceInfo localAccessibilityServiceInfo = new AccessibilityServiceInfo();
localAccessibilityServiceInfo.eventTypes = AccessibilityEvent.TYPES_ALL_MASK; // AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED;
localAccessibilityServiceInfo.notificationTimeout = EVENT_NOTIFICATION_TIMEOUT_MILLIS;
localAccessibilityServiceInfo.feedbackType = AccessibilityServiceInfo.FEEDBACK_AUDIBLE; // AccessibilityServiceInfo.FEEDBACK_VISUAL;
localAccessibilityServiceInfo.flags &= AccessibilityServiceInfo.DEFAULT;
setServiceInfo(localAccessibilityServiceInfo);
但事件从未到来。如何解决?谢谢,埃亚尔。
最佳答案
我有类似的情况,这在我的应用程序中有效:
import android.accessibilityservice.AccessibilityService;
import android.accessibilityservice.AccessibilityServiceInfo;
import android.util.Log;
import android.view.accessibility.AccessibilityEvent;
import android.widget.Toast;
public class NotificationAccessibilityService extends AccessibilityService
{
public static final String TAG = "volumeMaster";
@Override
public void onAccessibilityEvent(AccessibilityEvent event)
{
Log.v(TAG, "***** onAccessibilityEvent");
Toast.makeText(getApplicationContext(), "Got event from: " + event.getPackageName(), Toast.LENGTH_LONG).show();
}
@Override
public void onInterrupt()
{
Log.v(TAG, "***** onInterrupt");
}
@Override
public void onServiceConnected()
{
Log.v(TAG, "***** onServiceConnected");
AccessibilityServiceInfo info = new AccessibilityServiceInfo();
info.eventTypes = AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED;
info.notificationTimeout = 100;
info.feedbackType = AccessibilityEvent.TYPES_ALL_MASK;
setServiceInfo(info);
}
}
在我的 list 中:
<service android:name=".accessibility.NotificationAccessibilityService" android:label="@string/app_name" android:enabled="true" android:exported="false">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
</service>
我的部分解决方案来自: Accessibility Service from StackOverflow
关于android - onAccessibilityEvent(AccessibilityEvent event) 不拦截通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9158934/
我正在尝试实现一个AccessibilityService。我在下面分享了我的代码。当我从设置菜单打开无障碍服务时,onServiceConnected() 被调用,但 onAccessibiltyE
我在开发的应用程序中遇到了一个相当不幸的问题,该应用程序利用辅助功能服务在通知到达用户设备时对通知进行一些特殊处理。问题是,它工作得很好,但是永远不会调用服务的“onAccessibilityEven
在我的应用程序中,我必须捕获新的传入电子邮件消息通知并在屏幕上播放描述该事件的视频。我正在使用 onAccessibilityEvent(AccessibilityEvent event) 来收听生成
我正在使用 AccessibilityService 来确定在 Android 设备上运行的任何当前应用程序的 View 的文本和坐标。在每个事件 onAccessibilityEvent(...)
我是一名优秀的程序员,十分优秀!