如何在应用程序启动时显示主屏幕?

如何在应用程序启动时显示主屏幕?

问题描述:

我希望我的应用程序在启动时只有透明视图,以在背景而不是应用程序屏幕上显示移动设备的主屏幕。如何在应用程序启动时显示主屏幕?

我相信这是通过使用manifest xml中的活动意图来实现的,但到目前为止我还没有找到办法做到这一点。

如果有人能指引我走向正确的方向,我将不胜感激。

+0

这会是什么用途?如果某项活动是透明的,则无法与其背后的内容进行交互。 – user432209 2011-03-21 02:11:16

+0

我不想与背景互动,只是为了创造一个幻想,即某人在主屏幕上。 – Tsarl 2011-03-21 02:16:42

对不起。我误解了这个问题。我看到只有透明的部分,并从那里起飞。它appearsIntent.ACTION_MAINIntent.CATEGORY_HOME的意图应启动主屏幕。

我不确定首先启动主屏幕,然后是透明活动的最佳方式。如果你是从另一项活动中完成的,我可能会尝试在第一个活动的onPause()或onStop()中添加另一个startActivity()。也就是说,将启动器的startActivity()放在任何地方,并且同时设置一个变量,如isLaunchingTransparentActivity;然后在onPause()或onStop()中,如果isLaunchingTransparentActivity为true,则以透明活动的意图调用startActivity()。

或者,您可以创建主屏幕小部件。如果您从应用图标启动,请使用非透明活动。如果用户按下窗口小部件(需要在主屏幕上),请使用透明窗口。

+0

活动应完全隐形吗?如果应用程序启动时出现的第一个活动是不可见的,那么用户看不到任何事情发生,所以它非常没用。另一方面,如果你有其他活动可以做某事,而其中一个有一些触发器(比如一个按钮)启动了不可见的触发器,那么你可能需要在后退堆栈上做一些奇怪的事情来做你想做的事情同时仍然以用户期望的方式行事。如果这应该是某种“老板”恐慌按钮(就像某些游戏曾经有的那样),那么实际的主键是不是更好? – erichamion 2011-03-21 04:53:48

+0

看起来是主屏幕并可以接收触摸和其他事件的活动的安全性考虑因素是什么?即使前台应用程序无法知道图标之类的位置,对我来说进行这样的活动的能力似乎有点令人毛骨悚然。 – erichamion 2011-03-21 04:55:03

+0

@erichamion好像我有一个不太清楚我的问题的习惯。我的应用程序是完整的,测试和正常工作。我第一次从模拟器上的eclipse启动它时,它会自动在主屏幕前运行,但如果我想再次启动它,我必须进入应用程序屏幕才能执行它,对吗?但是,它会在应用程序屏幕前运行。我很好奇,是否有一种方法可以通过编程方式更改为主屏幕(这仅仅是出于审美原因,因为主屏幕通常比应用屏幕的黑色背景更加惹人注目和活跃) – Tsarl 2011-03-21 13:38:02