android – 当主题为Theme.NoDisplay时,活动未关闭

我将Activity Theme设置为Theme.Nodisplay但是当它打开但按下后按钮Activity不关闭/销毁.它应该在背压下关闭/销毁.

伙计们帮助我为什么会这样,以及解决这个问题的任何解决办法.

public class MainActivity extends Activity {

    // Tag of the Activity
    private static String TAG = "MainActivity";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        DatabaseManager.init(this);

        NFCIItem mNFCItem = new NFCIItem();
        mNFCItem.setSerialNumber(1);

        DatabaseManager.getInstance().addWishList(mNFCItem);
        final List<NFCIItem> wishLists = DatabaseManager.getInstance().getAllNFCSerialNumber();
        Log.v(TAG,wishLists.toString());

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main,menu);
        return true;
    }
}

AndroidManifest.xml中

<activity
    android:name="com.example.appdemo.MainActivity"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.Nodisplay" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

解决方法

我想它已经结束但你没有看到这个的证据,因为它是’Nodisplay’.使用此主题的Activity没有可见的UI(因此,这样的Activity处理UI事件不合逻辑)并且不应该保持活动状态.例如,请参阅此问题:

how to completely get rid of an activity’s GUI (avoid a black screen)

如果您确实希望此Activity的布局可见并处理事件,则应使用其他主题.如果另一方面,这是一个不可见的Activity,只进行一些后台处理,请在onCreate中调用finish()以在完成该处理时关闭它.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...