Android "send as copy" 没有打开目标App的新实例

Android "send as copy" does not open a new instance of the destination App

Google android 上的(word、驱动器、excel)等应用程序使您能够通过 "Send as a copy" 与其他应用程序共享文档。我们将另一个或目标应用程序称为应用程序 B。

理想情况下,我想当按钮 "Send as a copy" 被触发时,google 应用程序将首先允许用户 select 用户想要将副本发送到哪个应用程序.单击后,google 应用程序将创建一个共享意图,然后将其发送到配置为侦听任何类型的应用程序 B。

但是,问题是 google 应用程序会尝试在其内部打开应用程序,就像它是它的 child 一样,而不是在应用程序 B 的实例中打开副本,无论它是否已经打开或者是否不是 运行,它会打开应用程序 B 的应用程序。如果您查看任务视图,您会注意到应用程序 B 的新实例像 child 和 google 应用程序的 header 应用程序一样被外壳化.

这也是一个 cordova android 应用程序,但我认为这不会影响它。

任何建议表示赞赏, 谢谢 D

我意识到问题出在哪里了。这取决于 AndriodManifest.xml 文件中指定的内容和定义的意图过滤器。

"Send Copy" 可以触发两种分享意图的生成。一个共享意图将被视为 text/plain,另一个被视为实际类型。

如果清单中用于意图操作发送的意图过滤器不支持实际类型并允许 text/plain,"Send Copy" 的行为如上所述,这是不可取的。但是,如果不允许 text/plain 并且您指定了实际类型,例如 word,则接收应用程序 (App B) 将在共享意图 Extra_Stream.

中具有内容 Uri

另请注意,Intent 过滤器控制可以与其应用共享的内容,使用“/”或 "text/plain" 可能会导致意外行为。