У меня есть приложение, которое ведет себя как KIOS. Существует действие, которое будет отображаться пользователю, и пользователь не может вернуть или закрыть его, потому что ему нужен пароль.
Есть один случай, если владелец приложения забыл пароль. Поэтому мне нужно реализовать внешние настройки (например, IOS) вне приложения, чтобы изменить значение в моих общих настройках, чтобы закрыть Activity KIOS.
Я читал несколько статей, и близкий способ - использовать специальные возможности, но информацию и примеры об этом так сложно найти. Так что я все еще узнаю и проверяю это.
Вот что я сделал:
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://developer.android.com/guide/topics/ui/accessibility/services
2 ответа
Я сделал это с помощью 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
. В гостевом режиме вызывается действие общих настроек, чтобы установить другой параметр для моих приложений вне приложения.
Не думаю, что AccessibilityService - это то, что вам нужно. Потому что документ говорит:
Служба доступности помогает пользователям с ограниченными возможностями использовать устройства и приложения Android. Это долгосрочная привилегированная служба, которая помогает пользователям обрабатывать информацию на экране и позволяет им осмысленно взаимодействовать с устройством.
Я могу предложить вам использовать удаленный вызов, например сообщение Firebase Push, когда программа получает какое-то специальное сообщение, она изменяет пароль или удаляет и т. Д.
Новые вопросы
android
Android - это мобильная операционная система Google, используемая для программирования или разработки цифровых устройств (смартфоны, планшеты, автомобили, телевизоры, одежда, стекло, IoT). Для тем, связанных с Android, используйте специальные теги Android, такие как android-intent, android-activity, android-адаптер и т. Д. Для вопросов, не связанных с разработкой или программированием, но связанных с платформой Android, используйте эту ссылку: https: // android.stackexchange.com .