旧的 android 设备会因 canRequestFilterKeyEvents 而崩溃吗

will older android devices crash with canRequestFilterKeyEvents

我想在启用无障碍服务的应用程序中使用 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"
/>

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