использование AccessibilityService в Android делает его системным приложением? - PullRequest
0 голосов
/ 20 апреля 2019

Я делаю AccessibilityService, чтобы получить имя пакета приложения, в котором регистрируются события нажатия. В моем манифесте мне нужно запросить разрешение на

<uses-permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE" />

или внутри служебной метки, например:

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

Полагаю, мне не нужны оба варианта, но если я запрашиваю разрешение вне тега services в разрешениях на использование, ide сообщает мне, что это разрешение сделает мое приложение системным приложением. однако когда разрешение находится внутри служебного тега, оно не выдает такого предупреждения.

Я включаю настройки приложения после установки. Обратный вызов для событий не вызывается.

Прежде всего я хотел бы знать, является ли мое приложение системным приложением, которое необходимо установить в системном разделе телефона Android. Любая дальнейшая помощь будет принята с благодарностью. Я уже посмотрел два проекта на GitHub, но они слишком велики, чтобы разобраться в подходящем коде. поэтому, пожалуйста, помогите с кодом, необходимым для выполнения основной задачи, скажем, прослушивания события касания. спасибо

Ответы [ 2 ]

0 голосов
/ 21 апреля 2019

Чтобы уточнить о BIND_ACCESSIBILITY_SERVICE. Вы предоставляете это разрешение в службе, чтобы гарантировать, что только система может связываться с вашей службой. Только система может использовать это разрешение.

0 голосов
/ 20 апреля 2019

Когда вы создаете свою собственную Службу специальных возможностей, когда вы запускаете приложение, эта служба будет присутствовать в Настройках-> Специальные возможности в разделе «Службы».Затем вы можете включить свой сервис и запустить его в любом приложении, которое вы хотите.Что касается разработки службы специальных возможностей, см. Следующее: https://codelabs.developers.google.com/codelabs/developing-android-a11y-service/#2 https://developer.android.com/guide/topics/ui/accessibility/service. Для прослушивания щелчков я предлагаю пройти через раздел «Настройка кнопки прокрутки» в Codelabs и использовать ACTION_CLICK вместо ACTION_SCROLL_FORWARD

...