Значение изменения настроек доступности в общих настройках - PullRequest
0 голосов
/ 24 октября 2018

У меня есть приложение, которое ведет себя как KIOS.Существует действие, которое будет показано пользователю, и пользователь не сможет вернуться или закрыть его, потому что ему нужен пароль.

В одном случае владелец приложения забыл пароль.Поэтому мне нужно реализовать внешние настройки (например, IOS) вне приложения, чтобы изменить значение в моих общих настройках, чтобы закрыть Activity KIOS.

Я прочитал несколько статей, и близкий путь - использование Accessibility, но найти информацию и пример по этому вопросу очень сложно.Так что я все еще учусь и проверяю это.

Вот что я сделал:

SettingProgram.java

public class SettingProgram extends AccessibilityService {
    public static boolean isGuestMode = false;

    @Override
    public void onAccessibilityEvent(AccessibilityEvent event) {
//            isGuestMode = false;


    /*I want to 
      if switch the Accessibility turn on the boolean isGuestMode become true, 
      and if it turn off the isGuestMode become false
     */
    }

    @Override
    public void onInterrupt() { }

    @Override
    protected void onServiceConnected() {
        super.onServiceConnected();
    }
}

accessibility_services.xml

<?xml version="1.0" encoding="utf-8"?>
<accessibility-service 
xmlns:android="http://schemas.android.com/apk/res/android"
    android:description="@string/accessibility_service_description"
    android:accessibilityEventTypes="typeAllMask"
    android:accessibilityFlags="flagReportViewIds"
    android:canRetrieveWindowContent="true"
    android:canRequestTouchExplorationMode="true"
    android:accessibilityFeedbackType="feedbackSpoken"
    android:notificationTimeout="100" 
    android:settingsActivity="com.mobile.Testing.SettingProgram"/>

Я прочитал:

https://codelabs.developers.google.com/codelabs/developing-android-a11y-service/index.html?index=..%2F..%2Findex#0

https://developer.android.com/guide/topics/ui/accessibility/services

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018

Я сделал это с Accessibility Service, чтобы вызвать другой макет.Вот путь:

• Я создаю XML-файл специальных возможностей, как сказано в документации, как показано ниже:

<accessibility-service
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:description="@string/accessibility_service_description"
   android:accessibilityFeedbackType="feedbackGeneric"
   android:accessibilityFlags="flagDefault"
   android:canRetrieveWindowContent="true"
   android:settingsActivity="com.mobile.vhp.checkin.SettingAndList.GeneralSetting"/>   

С этого момента у меня есть Служба специальных возможностей для моего Приложения в Настройке, в которой есть и Имя меню параметров Guest Mode.Гостевой режим будет вызывать Общие настройки действий, чтобы установить другие настройки для моих приложений вне приложения.

0 голосов
/ 24 декабря 2018

Я не думаю, что AccessibilityService - это то, что вам нужно.Поскольку в документе говорится:

Служба специальных возможностей помогает пользователям с ограниченными возможностями в использовании устройств и приложений Android.Это долговременная привилегированная служба, которая помогает пользователям обрабатывать информацию на экране и позволяет им осмысленно взаимодействовать с устройством.

Я могу предложить вам использовать удаленный вызов, например, сообщение Firebase Push, когда программаПолучив специальное сообщение, он сменит пароль или удалит его и т. д.

...