【问题标题】:Android AccessibilityService compatible to Kindle Fire?Android AccessibilityService 兼容 Kindle Fire?
【发布时间】:2014-08-17 16:56:31
【问题描述】:

我尝试开发一个 Android 应用程序来处理来自其他应用程序的通知并将它们发送到我的笔记本电脑以通知用户。我使用AccessibilityService 处理Android NotificationListenerService 处理Android >= 4.3 设备上的通知。

在我唯一的 Android 设备(Android 2.3.3 的三星 Galaxy S)上接收通知没有问题,但我需要在辅助功能设置中激活该应用程序。

现在我尝试在我的 Kindle Fire(API 级别 17)上调试该应用程序,并且我的应用程序 Activity 工作正常,但该应用程序未列在设备的辅助功能设置中。亚马逊应用测试服务返回没有问题,所以不知道该去哪里找问题。

是否可以在 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 accessibility kindle-fire


    【解决方案1】:

    您必须添加权限 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 权限,以确保只有系统可以绑定到它。未能声明此意图将导致系统忽略无障碍服务。

    【讨论】:

      猜你喜欢
      • 2014-01-24
      • 2012-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多