缘来如此 2013-08-30
需求场景:
在主画面上点击程序图标,启动程序时,不显示主Activity,但可以正常运行Activity的逻辑。
分析:
网上很多同学纷纷表示做这样的事应该用Service啊神马的,但是,
1、却没有任何人告知如何通过点击程序图标启动一个Service
2、Service如果不追加控制则不会被主动释放,占用系统资源非常不够低碳。
一阵折腾发现有这么个东东:
@android:style/Theme.NoDisplay
于是乎在ManiFest文件中作了如下设定:
android:theme="@android:style/Theme.NoDisplay"
模拟器中启动程序发现几乎就实现需求了,但是,发现再次点击程序图标无任何响应。
再次看看自己那不到总共20行的代码,发现问题之所在是:
程序启动之后,Activity虽不显示,但是已经被实例化,再次点击程序图标时只是返回程序,并没有重新实例化Activity,因此写在Activity的onCreate方法中的逻辑没有机会再次执行。
于是乎,在onCreate方法中追加一句:
this.finish();
OK,打完收工。