Android 可访问性设置更改共享首选项的值
我有一个应用程序,它的行为就像KIOS。有一个活动将显示给用户,用户无法返回或关闭它,因为它需要密码 有一种情况是应用程序的所有者忘记了密码。因此,我需要在应用程序外部实施外部设置(如IOS),以更改共享首选项的值,从而关闭活动KIO 我读了一些文章,最接近的方法是使用可访问性,但是关于这方面的信息和示例很难找到。所以我仍然在学习和测试它 以下是我所做的: SettingProgram.javaAndroid 可访问性设置更改共享首选项的值,android,accessibilityservice,Android,Accessibilityservice,我有一个应用程序,它的行为就像KIOS。有一个活动将显示给用户,用户无法返回或关闭它,因为它需要密码 有一种情况是应用程序的所有者忘记了密码。因此,我需要在应用程序外部实施外部设置(如IOS),以更改共享首选项的值,从而关闭活动KIO 我读了一些文章,最接近的方法是使用可访问性,但是关于这方面的信息和示例很难找到。所以我仍然在学习和测试它 以下是我所做的: SettingProgram.java public class SettingProgram extends AccessibilityS
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();
}
}
可访问性\u 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"/>
我认为可访问性服务不是您所需要的。因为医生说:
无障碍服务帮助残疾用户使用
Android设备和应用程序。这是一个长期运行的特权服务
帮助用户处理屏幕上的信息,并允许他们
与设备进行有意义的交互
我可以建议您使用远程调用,如Firebase Push message,当程序收到一些特殊消息时,它将更改密码或删除等。我已使用辅助功能服务调用另一个布局。下面是方法:
•我创建可访问性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"/>
从那以后,我在设置中为我的应用程序提供了可访问性服务,其中有选项菜单名来宾模式
。来宾模式将调用“常规设置”活动,为应用程序之外的我的应用程序设置另一个设置 谢谢你的建议,但我不使用Firebase,我有自己的服务。我已经把我的答案贴在下面了。非常感谢。