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 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...