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

Wear OS App denied for crash on startup - Multiple Activities

总结

构建具有多个 Activity 的 Wear OS 应用程序时,您可能会以不正确的项目结构告终。要将活动添加到我的应用程序,我右键单击了我的 com.example.thing 文件夹>新建>activity>空白 activity。这将为您设置一个新的 java 或 kotlin 文件,以及一个布局 XML 文件。很方便。但是,这不会做的是正确配置您的 AndroidManifest.xml。

在测试过程中,一切似乎都运行良好,尤其是如果您只在模拟器上进行测试。但是,由于 AndroidManifest 的自动设置方式,它将添加具有以下意图过滤器的所有活动:

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

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

要解决此问题,只需删除除一项活动之外的所有活动的意图过滤器,留下您希望主要启动 activity 成为的活动。当然,对于更复杂的应用程序,您可能希望更改您的 Intent 过滤器,而不是删除它们。你可以在这里阅读所有关于它们的信息:

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