启动一个没有界面的Activity(且没有焦点)

来源:互联网 发布:牧之逸 知乎 编辑:程序博客网 时间:2024/05/07 18:43

在公司的项目中有一种情况需要启动一个没有界面的Activity,而且不能具有焦点,所有通过设置界面的透明度是不可以的。

经过调查找到了一种实现方法:
Android为我们提供了这样一个主题:

android:theme="@android:style/Theme.NoDisplay"

可以在AndroidManiFest当中的application当中直接设置,也可以指定一个子Activity没有界面,如下:

<activity
android:name=".SecondActivity"
android:theme="@android:style/Theme.NoDisplay">
</activity>

我在使用Android4.3编译的时候可以直接运行,但是在整个程序今后后台在切换回来的时候SecondActivity回有一个界面并且覆盖在程序之上。这里需要在SeconActivity的onResume()当中做一下处理。
在使用Android6.0编译的时候直接报一个错误:Caused by: java.lang.IllegalStateException: Activity {com.example.androidthemdemo/com.example.androidthemdemo.SecondActivity} did not call finish() prior to onResume() completing
我在SecondActivity的onResume()方法当中加了一个finish()方法就好了。

原创粉丝点击