我将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()以在完成该处理时关闭它.