我尝试开发一个Android应用程序来处理来自其他应用程序的通知,并将其发送到我的笔记本电脑以通知用户。我使用AccessibilityService在Android <4.3(API级别18)的设备上处理通知,并在Android> = 4.3的设备上处理NotificationListenerService。
在唯一的Android设备(带有Android 2.3.3的Samsung Galaxy S)上获取通知没有问题,但是我需要在辅助功能设置中激活该应用程序。
现在,我尝试在Kindle Fire(API级别17)上调试该应用程序,并且我的应用程序“活动”可以正常工作,但是该应用程序未在设备的辅助功能设置中列出。Amazon App测试服务没有问题,因此我不知道应该在哪里搜索问题。
可以在Kindle Fire上使用AccessibilityService吗?
这是我的android清单文件:
<uses-permission android:name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"/>
<uses-permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="18"
/>
<application
android:icon="@drawable/ic_launcher"
android:allowBackup="true">
<activity
android:name="de.test.notificationdistributor.SettingsActivity"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service
android:name="de.test.notificationdistributor.NotificationDistributorService">
<intent-filter>
<action android:name="android.service.notification.NotificationListenerService" />
</intent-filter>
</service>
<service
android:name="de.test.notificationdistributor.NotificationDistributionDeprService">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
</service>
</application>
您必须添加权限android.permission.BIND_ACCESSIBILITY_SERVICE(已添加到API 16-android 4.1中)
<service
android:name="de.test.notificationdistributor.NotificationDistributorService"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
<meta-data android:name="android.accessibilityservice" android:resource="@xml/accessibilityservice" />
<intent-filter>
<action android:name="android.service.notification.NotificationListenerService" />
</intent-filter>
</service>
在文档中http://developer.android.com/reference/android/accessibilityservice/AccessibilityService.html
此外,可访问性服务必须请求BIND_ACCESSIBILITY_SERVICE权限,以确保只有系统可以绑定到它。未能声明此意图将导致系统忽略可访问性服务。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句