Android 启动Activity而不显示界面的问题解决

本文为了实现启动自己的应用,而不显示应用的界面;

参考博客:

https://blog.csdn.net/blueblood1/article/details/82563694

https://blog.csdn.net/baijinglei12/article/details/49252269

网上参考文章中说在配置文件AndroidManifest.xml中的activity标签下添加如下一句:

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


我如此实现后发现会弹出如下问题:

设备界面弹出 Unfortunately, XXX has stopped!

查看报文发现错误是:java.lang.IllegalStateException: You need to use a Theme.AppCompat theme

参考:https://blog.csdn.net/u013694478/article/details/79468952

https://www.cnblogs.com/zhouyou96/p/5323138.html

https://www.2cto.com/kf/201605/506596.html

原来我的Activity继承自 android.support.v7.app.AppCompatActivity,而不是 android.app.Activity

public class MainActivity extends AppCompatActivity

解决方法是:1.将继承AppCompatActivity 更改为继承Activity;

                      2.根据提示来使用AppCompat的theme;

我试图从AppCompat中寻找NoDisplay这个类函数,发现没有,因此尝试第一种方法;


尝试的结果是弹出log信息:

did not call finish() prior to onResume() completing

参考:https://blog.csdn.net/xingnan4414/article/details/75649543

如果在6.0手机上你的Activity主题使用了NoDisplay 的话,正常resume的话会出现ANR,因为你activity启动了但是window显示不出来,系统等待超过5s自然ANR了,这种体验很不好,所以google直接就一言不合抛异常,建议我们使用Theme.Trunslucent.NoTitleBar,如果你想让这个activity完全透明!

登录界面没有界面的情况下,需要把Activity的样式设置为透明。否则在6.0以上机型登录时会出现崩溃现象。既然我的activity是没有UI的,出错的activity主题的配置如下:

至此,问题解决。


总结下,针对只启动Activity而不显示界面,我的更改操作如下:

1.public class MainActivity extends Activity;

2.AndroidManifest.xml的配置信息更改成如下:

    
        

            
                

                
            
        

    
 

你可能感兴趣的:(Android)