Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
kitkat中未收到Android可访问性onAccessibilityEvent_Android_Accessibilityservice - Fatal编程技术网

kitkat中未收到Android可访问性onAccessibilityEvent

kitkat中未收到Android可访问性onAccessibilityEvent,android,accessibilityservice,Android,Accessibilityservice,我知道这个问题已经被问了很多次了,但是我不知道如何让它起作用。我正在尝试使用AccessibilityService获取通知事件。这是我试过的代码 public class NotificationService extends AccessibilityService { Context context; private boolean isInit; @Override public void onCreate() { super.onCreate(); conte

我知道这个问题已经被问了很多次了,但是我不知道如何让它起作用。我正在尝试使用AccessibilityService获取通知事件。这是我试过的代码

public class NotificationService extends AccessibilityService  {

Context context;
private boolean isInit;

@Override

public void onCreate() {

    super.onCreate();
    context = getApplicationContext();
    Log.d("NotificationService","oncreate of NotificationService");

}


@Override
public void onAccessibilityEvent(AccessibilityEvent sbn) {
    Log.d("NotificationService","onAccessibilityEvent");
    if (sbn.getEventType() == AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED) {
        //Do something, eg getting packagename
        final String packagename = String.valueOf(sbn.getPackageName());  


        String pack = String.valueOf(sbn.getPackageName());
        /*String ticker = sbn.getNotification().tickerText.toString();
        Bundle extras = sbn.getNotification().extras;
        String title = extras.getString("android.title");*/
        String text = sbn.getContentDescription().toString();

        Log.d("NotificationService", "Package = "+pack);

        Log.d("NotificationService", "Text = " + text);

        /*Intent msgrcv = new Intent("Msg");
        msgrcv.putExtra("package", pack);
        msgrcv.putExtra("ticker", ticker);
        msgrcv.putExtra("title", title);
        msgrcv.putExtra("text", text);

        LocalBroadcastManager.getInstance(context).sendBroadcast(msgrcv);*/
}
}

@Override
protected void onServiceConnected() {
    if (isInit) {
        return;
    }
    AccessibilityServiceInfo info = new AccessibilityServiceInfo();
    info.eventTypes = AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED;
    info.feedbackType = AccessibilityServiceInfo.FEEDBACK_SPOKEN;
    setServiceInfo(info);
    isInit = true;
}

@Override
public void onInterrupt() {
    isInit = false;
}
我的清单文件

<service android:name=".NotificationService"
            android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE" >
     <intent-filter>
         <action android:name="android.accessibilityservice.AccessibilityService" />
         <category android:name="android.accessibilityservice.category.FEEDBACK_SPOKEN" />
     </intent-filter>
      <meta-data android:name="android.accessibilityservice"
               android:resource="@xml/accessibilityservice" />

accessibilityservice.xml文件如下所示

<?xml version="1.0" encoding="utf-8"?>
<accessibility-service xmlns:android="http://Schemas.android.com/apk/res/android"
    android:accessibilityEventTypes="typeNotificationStateChanged"
    android:accessibilityFeedbackType="feedbackAllMask"
    android:notificationTimeout="100" />


请帮帮我,我已经被困了很长时间。

你有没有想过这个问题?我陷入了完全相同的境地。谢谢