我正在 Android 中开发无障碍服务。当用户关闭辅助功能服务时,我想禁用某些功能,但我不确定如何检测到这一点。
我想当用户关闭它时,它会调用onDestroy()
,但显然,它没有被调用。
有什么方法可以知道用户何时关闭无障碍服务?或者是否有一个函数在用户关闭时被调用?
(以防万一,我正在为 Android Wear 开发。)
非常感谢!!我感谢您的帮助!:)
我正在 Android 中开发无障碍服务。当用户关闭辅助功能服务时,我想禁用某些功能,但我不确定如何检测到这一点。
我想当用户关闭它时,它会调用onDestroy()
,但显然,它没有被调用。
有什么方法可以知道用户何时关闭无障碍服务?或者是否有一个函数在用户关闭时被调用?
(以防万一,我正在为 Android Wear 开发。)
非常感谢!!我感谢您的帮助!:)
interface AccessibilityManager.AccessibilityStateChangeListener
系统可访问性状态的侦听器。要监听设备上可访问性状态的变化,请实现此接口并通过调用将其注册到系统中
addAccessibilityStateChangeListener
。
例子:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// ...
AccessibilityManager am = (AccessibilityManager) getSystemService(Context.ACCESSIBILITY_SERVICE);
am.addAccessibilityStateChangeListener(new AccessibilityManager.AccessibilityStateChangeListener() {
@Override
public void onAccessibilityStateChanged(boolean b) {
Log.d(TAG,"onAccessibilityStateChanged b=" + b);
updateServiceStatus(b);
}
});
updateServiceStatus(am.isEnabled());
}
programcreek.com上的更多 java 示例。
我不知道任何通知应用程序有关无障碍服务状态更改的事件、广播或回调。我能想到的最好的事情是偶尔手动检查服务状态:
AccessibilityManager am = (AccessibilityManager) getSystemService(ACCESSIBILITY_SERVICE);
boolean isAccessibilityEnabled = am.isEnabled();