首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >新建意图后关闭对话框

新建意图后关闭对话框
EN

Stack Overflow用户
提问于 2014-11-02 22:35:58
回答 1查看 2K关注 0票数 0

我有一个读取nfc标签的应用程序,只要nfc标签没有放在手机附近,我就会显示一个带有小动画的进度对话框,并建议用户将nfc标签放在手机附近。

然而..对于新的意图(在我的cas nfc意图中),我希望对话框自动关闭并启动新的活动。

到现在为止,我做到了:

代码语言:javascript
运行
复制
    Intent newIntent = new Intent(this.getApplicationContext(), NFCResultActivity.class);
    newIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

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

因此,当前活动将被删除(FLAG_ACTIVITY_CLEAR_TOP)并启动新的活动。但这似乎不是很干净,因为我得到了以下错误消息:

代码语言:javascript
运行
复制
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

那么,我如何才能做到干净呢?

EN

回答 1

Stack Overflow用户

发布于 2014-11-02 22:38:59

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

代码语言:javascript
运行
复制
    myDialog.dismiss();
    Intent newIntent = new Intent(this.getApplicationContext(), NFCResultActivity.class);
    newIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

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

或者调用onPause中的myDialog.dismiss();,这样当活动被销毁时,对话框将被关闭。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26700485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档