【问题标题】:Can An Android Application Be Launched Without a Main Activity?可以在没有主 Activity 的情况下启动 Android 应用程序吗?
【发布时间】:2011-02-19 23:20:54
【问题描述】:

我已经验证了一个 App 不需要 Main Activity,实际上也不需要任何 Activity。感谢您对此的回复。但这是另一个问题。有没有办法在没有声明主要活动的情况下启动应用程序?如果答案是否定的,那么我有一个跟进,是否可以在启动后在运行时从应用程序中删除 MAIN 操作,以便应用程序在启动后不再具有 MAIN 活动?或者,如果不再需要,甚至可以在运行时将 Activity 本身从应用程序中完全删除。

【问题讨论】:

  • PS by Launch 我的意思是像任何其他应用程序一样来自用户应用程序列表。
  • 如果您的应用没有/不需要任何活动,为什么要“启动”它?它有什么作用?如果您本质上想打开/关闭某些东西,那么 AppWidget 可以完成这项工作。

标签: android launch


【解决方案1】:

“用户应用程序列表”的定义是“支持 MAIN 动作和 LAUNCHER 类别的所有活动的列表”。因此,如果您没有支持 MAIN 操作和 LAUNCHER 类别的活动,则您的应用程序中的任何内容都不会出现在“用户应用程序列表”中。

是否可以在启动后在运行时从应用程序中删除 MAIN 操作,以便应用程序在启动后不再具有 MAIN 活动?

您可以通过PackageManager 禁用活动组件。这可能不会立即将其从启动器中删除,因为主屏幕有时会缓存此信息。而且,它会破坏用户对此活动所做的任何快捷方式。一般来说,这不是推荐的技术。

如果不再需要,甚至可以在运行时将活动本身从应用程序中完全删除。

没有。

【讨论】:

  • 好的。那么如果我隐藏主活动,我还能启动它吗?如果是这样,那么如果我可以告诉 onStart(Intent) 的请求是启动,我可以将用户引导到仅启动的 Activity,其余时间我可以将其隐藏。这是否可以检测 Activity 是在启动时启动还是在恢复等。这种隐藏状态是否可以动态应用
  • 上述场景是否可以使用 android:theme="@android:style/Theme.NoDisplay"。我猜这一切都取决于我是否可以检测到 MAIN 活动是否正在启动或由于其他原因被激活。
  • 我知道这个问题听起来有点令人费解,但重点是我想要启动 MAIN,然后首先查看,然后 MAIN 活动在我的应用程序中是不受欢迎的客人,直到我请求它再次从其他地方,如小部件。即便如此,我真的可能不再需要转到 Main,但另一个页面就可以了。
  • @Androider:“那么,如果我将 Main Activity 隐藏起来,我还能启动它吗?” - 如果您禁用它,则不会。 “我希望启动 MAIN 并首先查看,之后 MAIN 活动在我的应用程序中是不受欢迎的客人,直到我从其他地方(如小部件)再次请求它。” -- 请记住,用户反复大声表示他们不喜欢这个。如果他们不知道如何运行它,他们会认为您的应用程序已损坏。
  • @Androider:正如我之前指出并将继续指出的那样,这是您的应用程序中的一个错误。我已经交给你两个独立的项目,它们正确地实现了自我更新的应用程序小部件。一个 (github.com/commonsguy/cw-andtutorials/tree/master/…) 甚至还有一个启动器活动和一些其他活动。这些活动都没有在“最意想不到的时候”神奇地出现。您正在尝试解决您自己的错误。修复你的错误。
猜你喜欢
  • 2012-06-10
  • 1970-01-01
  • 1970-01-01
  • 2015-01-28
  • 2019-02-19
  • 2017-06-30
  • 2011-02-11
  • 2014-03-23
  • 1970-01-01
相关资源
最近更新 更多