android - 共享首选项上的辅助功能设置更改值

标签 android accessibilityservice

我有一个应用程序,其行为类似于 KIOS。有一个 Activity 将显示给用户,用户无法后退或关闭它,因为它需要密码。

有一种情况是应用程序的所有者忘记了密码。所以我需要在应用程序外部实现外部设置(如 IOS)以更改我的共享首选项上的值以关闭 Activity KIOS。

我读了一些文章,接近的方法是使用辅助功能,但是很难找到关于它的信息和示例。所以我仍然在学习和测试它。

这是我所做的:

设置程序.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

最佳答案

我认为 AccessibilityService 不是您所需要的。因为医生说:

An Accessibility Service assists users with disabilities in using Android devices and apps. It is a long-running privileged service that helps users process information on the screen and lets them to interact meaningfully with a device.

我可以建议你使用远程调用,比如 Firebase 推送消息,当程序收到一些特殊消息时,它会更改密码或删除等。

关于android - 共享首选项上的辅助功能设置更改值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52960810/

相关文章:

php - mysqli_stmt_fetch() 不工作

android - 从 Activity 传递资源 ID 以初始化自定义 ViewGroup

android - AccessibilityNodeInfo - 发送文本

android - 如何在 android 中的谷歌(设备) native 应用程序上添加自定义按钮?

java - AccessibilityService 可以在不打开应用程序的情况下对后台应用程序执行点击事件吗

android - 如何在 REPL 中运行 android 代码

java - Android 在 Button.setEnabled(false) 上崩溃

java - 查找 graphics2D 的 Android 等效代码

java - 如何使用 AccessibilityService 在 Android 上执行拖动(基于 X、Y 鼠标坐标)?

android - 创建 AccessibilityEventService 时如何为您的应用设置辅助功能设置说明?