Wear OS 应用程序因启动时崩溃而被拒绝 - 多个活动



摘要

在构建具有多个活动的 wear OS 应用程序时,您最终可能会得到不正确的项目结构。为了向我的应用程序添加活动,我右键单击了我的com.example.thing文件夹>new>activity>blank wear activity。这将为您设置一个新的 java 或 kotlin 文件,以及一个布局 XML 文件。相当方便。然而,这并没有做的是正确配置你的AndroidManifest.xml。

在测试期间,一切似乎都正常,特别是如果您只在模拟器上进行测试。但是,由于 AndroidManifest 自动设置的方式,它将使用以下 Intent 过滤器添加所有活动:

<action android:name="android.intent.action.MAIN" />            
<category android:name="android.intent.category.LAUNCHER" />

这会产生一个问题,因为安装 APK 将导致您将 X 数量的应用程序加载到设备中,其中 X 是您创建的活动量。例如,我有一个登录活动、一个主活动和一个设置活动。运行应用程序时,我的应用程序列表中最终有 3 个应用程序,每个应用程序都相应地命名。

要解决此问题,只需删除除一个活动之外的所有活动的意图过滤器,将您希望的主要启动活动保留为任何活动。当然,对于更复杂的应用,您可能需要更改 Intent 过滤器,而不是将其移除。您可以在此处阅读有关它们的所有信息:

https://developer.android.com/guide/components/intents-filters

最新更新