Android 新意图后关闭对话框

Android 新意图后关闭对话框,android,android-intent,Android,Android Intent,我有一个应用程序可以读取nfc标签,只要nfc标签 没有放在手机旁边我会显示一个进度对话框 用一个小动画和建议给用户放置 靠近手机的nfc标签 然而。。在一个新的意图上(在我的cas nfc意图中),我想要 对话框自动关闭并启动新活动 到目前为止,我都是这样做的: Intent newIntent = new Intent(this.getApplicationContext(), NFCResultActivity.class); newIntent.setFlags(Inte

我有一个应用程序可以读取nfc标签,只要nfc标签 没有放在手机旁边我会显示一个进度对话框 用一个小动画和建议给用户放置 靠近手机的nfc标签

然而。。在一个新的意图上(在我的cas nfc意图中),我想要 对话框自动关闭并启动新活动

到目前为止,我都是这样做的:

    Intent newIntent = new Intent(this.getApplicationContext(), NFCResultActivity.class);
    newIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

    this.startActivity(newIntent);
    this.finish();
因此,当前活动将被删除(标记为“活动”\u清除\u顶部),新活动将被删除 活动已启动。但这似乎不是很干净,因为我得到了 以下错误消息:

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

那么,我如何才能进行清理呢?

发生此错误的原因是,在活动被销毁后会显示您的对话框。在开始新活动之前关闭对话框:

    myDialog.dismiss();
    Intent newIntent = new Intent(this.getApplicationContext(), NFCResultActivity.class);
    newIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

    this.startActivity(newIntent);
    this.finish();

或者调用
myDialog.discouse()onPause
中选择code>,这样当活动被销毁时,对话框将被取消。

是的,当然可以,但问题是意图不是从当前活动开始的。我有一个中心活动叫做NFCActivity,当有nfc意图时,它总是被称为NFCActivity。我显示进度对话框的活动是另一个活动。我明白了…对不起,我以前从未使用过NFC。您认为您可以使用startactivityforresult来修复此问题吗?等等..因此对话框位于NFCActivity?不幸的是,没有。当意图被触发时,是否有可能获取当前活动?否。该对话框位于“我的NFC结果”活动中。解释一下:您可以手动调用NFC结果活动,但是当没有NFC标记可读取时,我会显示进度对话框,建议用户放置标记。但现在,当他贴上标签时,我的心就被触发了。然后,NFCActivity使用nfc标记的结果调用一个新的NFCResultActivity。