android – 在方向更改后重新创建活动之前更改意图包数据

android – 在方向更改后重新创建活动之前更改意图包数据,第1张

概述我有一个启动我的活动的通知,并使用intent的putExtra()函数传递消息.然后,该消息将在活动的onCreate函数中显示给用户.由于方向更改而重新启动应用程序时,将再次显示该消息,因为它仍在意图的捆绑数据中. 如何删除额外数据? 我尝试了以下方法: Bundle bundle = getIntent().getExtras();if (bundle.getBoolean("showMe 我有一个启动我的活动的通知,并使用intent的putExtra()函数传递消息.然后,该消息将在活动的onCreate函数中显示给用户.由于方向更改而重新启动应用程序时,将再次显示该消息,因为它仍在意图的捆绑数据中.

如何删除额外数据?

我尝试了以下方法:

Bundle bundle = getIntent().getExtras();if (bundle.getBoolean("showMessage")) {    // ... show message that is in bundle.getString("message")    // remove message    bundle.remove("showMessage");}

但是在方向改变之后仍会显示该消息,似乎所使用的意图不是我改变的意图,而是原始意图.我找到的唯一解决方法是另外在onSaveInstanceState()中保存showMessage.
还有另一种方式吗?或者这是要走的路?

解决方法 (简单)解决方案是:

而不是打电话

bundle.remove("showMessage");

我现在用

getIntent().removeExtra("showMessage");

它按预期工作.看起来像getIntent().getExtras()返回一个副本,而不是一个引用.

总结

以上是内存溢出为你收集整理的android – 在方向更改后重新创建活动之前更改意图包数据全部内容,希望文章能够帮你解决android – 在方向更改后重新创建活动之前更改意图包数据所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1138430.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存