今天发现4.0以后如果不写Activity只写BroadcastReceiver的话,这个广播接收器是不能运行的。经过查询,好像是HoneyComb之后添加了安全机制,规定必须运行一次Activity,BroadcastReceiver才能生效。
如此一来,通过去掉intent-filter标签来隐藏图标的方法,以及通过不写Activity来隐藏主界面的方法就都失效了。
经过摸索,得到一种还算满意的解决办法:
对于图标,在intent-filter标签内加入这行代码(原因看这里):
1
|
<data android:host=”AuthActivity” android:scheme=”com.android.example” /> |
对于入口Activity,我首先选择了在入口Activity的onCreate()方法中直接写一个「finish();」语句,这样运行的时候基本上是一闪而过,甚至肉眼看不见。
再者,在application标签加入
1
|
android:theme= "@android:style/Theme.DeviceDefault.Wallpaper.NoTitleBar"
|
这样,没有标题栏,背景也跟桌面一样,这样给人的感觉就好像是桌面图标暂时消失了,所以即便是「一闪而过」的时间略长,也不会被察觉了。
另外,经过测试,这个背景变透明的theme2.3是没有的,高版本会有。
So much for this.