जब भी कोई अधिसूचना प्रदर्शित होती है तो मैं अपना ऐप पता लगाने की कोशिश कर रहा हूं। मैंने इसे सेटिंग ऐप में सक्षम कर दिया है और onServiceConnected
कॉल किया जाता है, हालांकि जब मैं कोई सूचना बनाता हूं या जीमेल ऐप के माध्यम से ई-मेल प्राप्त करता हूं, तो कुछ नहीं होता है, onAccessibilityEvent
नहीं कहा जाता है।एंड्रॉइड एक्सेसिबिलिटी सेवा अधिसूचना का पता लगाएं
Android मेनिफेस्ट:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.slide"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.GET_TASKS"/>
<application android:label="Slide"
android:icon="@drawable/ic_launcher"
android:theme="@style/AppTheme">
<activity
android:name=".Settings"
android:label="Slide">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name=".Tools"
android:label="Slide"
android:theme="@android:style/Theme.Translucent.NoTitleBar">
</activity>
<service android:name=".LocalService"/>
<service android:name=".NotificationService"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
android:label="Slide"
android:enabled="true"
android:exported="false">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService"/>
</intent-filter>
</service>
</application>
NotificationService.java
package com.test.slide;
import android.accessibilityservice.AccessibilityService;
import android.accessibilityservice.AccessibilityServiceInfo;
import android.view.accessibility.AccessibilityEvent;
public class NotificationService extends AccessibilityService {
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
System.out.println("onAccessibilityEvent");
if (event.getEventType() == AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED) {
System.out.println("notification: " + event.getText());
}
}
@Override
protected void onServiceConnected() {
System.out.println("onServiceConnected");
AccessibilityServiceInfo info = new AccessibilityServiceInfo();
info.eventTypes = AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED;
info.notificationTimeout = 100;
info.feedbackType = AccessibilityEvent.TYPES_ALL_MASK;
setServiceInfo(info);
}
@Override
public void onInterrupt() {
System.out.println("onInterrupt");
}
}
किसी भी मदद के लिए धन्यवाद।
क्या आप समाधान नहीं मिला काम कर सकते हैं? मुझे भी ठीक यही समस्या है। –
alanv का उत्तर मेरे लिए काम किया – ng93
आप किस सिस्टम संस्करण प्रोग्रामिंग कर रहे हैं? आईसीएस? जेली बीन? –