1

我想在启用无障碍服务的应用程序中使用canRequestFilterKeyEvents选项。我收到一条警告,说只有 API 级别 18 才支持此功能,而我的应用程序最低 API 为 14。

我很好,如果我使用此设置启用的功能不适用于 API 级别 18 以下的用户。但我想确保应用程序不会在旧版本中崩溃,因为此设置已启用。

我在accessibility_service_config.xml 文件中启用了此设置。我在下面给出了完整的配置。

<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:description="@string/accessibility_service_description"
android:accessibilityEventTypes="typeAllMask"
android:accessibilityFlags="flagDefault|flagReportViewIds|flagIncludeNotImportantViews|flagRequestFilterKeyEvents"
android:accessibilityFeedbackType="feedbackVisual"
android:notificationTimeout="100"
android:canRetrieveWindowContent="true"
android:canRequestFilterKeyEvents="true"
/>
4

1 回答 1

1

它不应使应用程序崩溃,因为android:canRequestFilterKeyEvents不会在 API 18 之前的手机上的代码中进行解析。所以应该把它保存在那里。如果它以某种方式使您的应用程序崩溃,您还可以创建 2 个 xml 文件夹,一个仅命名为 xml,另一个命名为 xml-v18

于 2015-10-06T12:41:00.150 回答