我将我的活动注册为 Intent 过滤器(明文),并且在接收多个 Intent 时遇到问题。这是我的情况:
- 我打开电子邮件客户端->标记一些文本->按“共享按钮”并选择正确列出的我的活动(因为它已注册为此类操作的意图过滤器)
- 我的活动打开,我可以清楚地看到意图在其 EXTRA_TEXT 中具有正确的值(来自电子邮件的标记文本)
- 到目前为止一切顺利......但是现在,如果我按下 HOME 按钮(关闭我的 Activity 并似乎调用 onStop())-> 然后我再次打开电子邮件客户端 -> 标记一些不同的文本 -> 按“共享按钮”,然后突然我的活动打开(我希望可以再次选择可用活动的列表)并且收到的意图包含原始文本,而不是其EXTRA_TEXT中新标记的文本。
我在这里想念什么?如何通过这种方式通过意图接收新内容?我是否需要以某种方式使以前的意图无效?
我不得不说使用“BACK”而不是“HOME”按钮可以正常工作,并且新意图包含预期的新标记文本。这里有什么区别?
我这样得到我的意图:
intent = getIntent();
intentAction = intent.getAction();
if (intentAction.equals(Intent.ACTION_SEND) && intent.hasExtra(Intent.EXTRA_TEXT)) {
Bundle bundle = intent.getExtras();
谢谢