我有一个应用程序来读取nfc标签和nfc标签 没有放在手机附近我显示进度对话框 用一个小动画和建议给用户放置 nfc标签靠近手机。
然而..在一个新的Intent(在我的cas nfc意图中)我想要的 对话框自动关闭并开始新活动。
直到现在我做到了:
Intent newIntent = new Intent(this.getApplicationContext(), NFCResultActivity.class);
newIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
this.startActivity(newIntent);
this.finish();
因此删除当前活动(FLAG_ACTIVITY_CLEAR_TOP)和新活动 活动开始了。但这似乎不是很干净,因为我得到了 以下错误消息:
11-02 15:12:49.375: E/WindowManager(25579): android.view.WindowLeaked: Activity
de.MyActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{41ec5db0 V.E..... R......D 0,0-729,324}
that was originally added here
那我该怎么做呢?
答案 0 :(得分:1)
发生此错误是因为在销毁活动后显示对话框。在开始新活动之前关闭对话框:
myDialog.dismiss();
Intent newIntent = new Intent(this.getApplicationContext(), NFCResultActivity.class);
newIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
this.startActivity(newIntent);
this.finish();
或致电myDialog.dismiss();
中的onPause
,以便在销毁活动时解除对话框。