我有一个应用程序,其行为类似于 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://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/