我写过一个需要使用的Android应用程序AccessibilityService
.我知道如何检查手机上是否启用了辅助功能,但我无法确定是否已在辅助功能菜单中专门启用了我的应用.
我想提示用户是否AccessibilityService
没有运行,但找不到这样做的好方法.是否有任何我可能遗漏的API方法可以让我知道设备上启用了哪些辅助功能服务?
我正在开发一个Android
基于Accessibility
功能的APP .因为它无法以编程方式Enable/Disable Accessibility
在Android中提供服务(请参阅如何以编程方式启用/禁用Android中的辅助功能服务),因此我Accessibility Settings
通过以下代码引导用户访问Page(图1):
public static boolean gotoAccessibilitySettings(Context context) {
Intent settingsIntent = new Intent(
Settings.ACTION_ACCESSIBILITY_SETTINGS);
if (!(context instanceof Activity)) {
settingsIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
boolean isOk = true;
try {
context.startActivity(settingsIntent);
} catch (ActivityNotFoundException e) {
isOk = false;
}
return isOk;
}
Run Code Online (Sandbox Code Playgroud)
然后用户需要找到我的APP的子设置标签,点击它,现在Accessibility Settings
我的APP显示页面(图2).
我怀疑,如果有任何办法直接启动我的APP的Accessibility Settings
页面(图2)?
如何以编程方式启用/禁用AndroidB屏幕阅读器服务,如TalkBack?
我正在开发一个自助服务终端类型的应用程序,它将安装在Android设备上,当他们访问特定的博物馆时将被借给访问者.(我们仍然在确定我们将使用什么设备.)计划是仅允许用户使用我们的应用程序而无法访问android设置应用程序.但是,我们希望允许用户配置一些辅助功能设置.完成设备后,我们需要将所有设置恢复为默认设置.
以下链接中的讨论有很多建议启动Android的设置应用.但我们不希望用户访问许多其他设置.
我希望能够捕获我正在编写的服务中的关键事件.我可以在一个没有问题的活动中做到这一点,但我在服务中工作的所有尝试都失败了.我想要捕获的键(全局)是BACK按钮,但如果不可能,HTC Desire提供的任何(硬件)按钮都可以.
我正在编写一个提供服务的库,其他开发人员将其包含在他们的项目中.因此,我无法控制AndroidManifest.xml.我解释了在文档中要做什么,但是一个常见的问题是,人们忽略了将相应的<service />标记添加到其清单中,或者将其添加到错误的位置.
现在,当我的库调用startService而未在清单中声明服务时,唯一发生的事情是ActivityManager记录一个警告.我希望在发生这种情况时抛出异常,以便开发人员知道如何解决它.如何检测清单是否实际声明了此服务?
android android-manifest android-service android-xml android-library
我正在尝试在应用程序启动后立即为我的应用程序启用辅助功能设置。但我目前无法做到。我使用了以下代码:
Settings.Secure.putString(getContentResolver(),
Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES,
"package_name");
Settings.Secure.putString(getContentResolver(),
Settings.Secure.ACCESSIBILITY_ENABLED,
"1");
Run Code Online (Sandbox Code Playgroud)
要使用此代码片段,我们必须声明以下权限:
WRITE_SECURE_SETTINGS,但此权限仅适用于系统应用程序。如何为我的应用程序实现相同的功能。欢迎提出所有建议。