【发布时间】:2021-06-23 18:41:45
【问题描述】:
我正在尝试让其他应用与我的共享 PDF 文件,我有一个用于 android.intent.action.SEND 类型 pdf 文件的意图过滤器,但有些应用使用 FLAG_ACTIVITY_CLEAR_TASK 发送意图,它会关闭已经运行的活动.
有没有办法忽略这个标志?我想在共享到我的应用时保持当前活动的运行。
编辑:一个很好的例子
- 我与 google drive pdf 查看器共享一个 PDF,我已经在运行的活动将其拾取并在“onNewIntent”中接收到意图(需要)。
- 当我对三星的“我的文件”做同样的事情时,我的活动会重新启动,并且意图被赋予“onCreate”(不需要)
【问题讨论】:
-
"有什么方法可以忽略这个标志吗?" ——我不知道。 “我想在共享到我的应用程序时保持当前活动运行” - 你想要这个的具体原因是什么? Activity 可能因其他原因而消失,例如 Android 在您的应用处于后台时终止您的进程。
-
@CommonsWare 这是一个颤振应用程序——这意味着整个应用程序在一个活动中运行。我需要在正在运行的活动中接收共享意图才能捕获它。
-
“我需要在正在运行的活动中接收共享意图才能捕获它。” - 我不确定你在说什么。该标志将清除要启动您的活动的任务。然后您的活动将开始。您将在跑步活动中收到意图。其他活动的状态应该与您无关。
-
@dominicoder 我的活动在共享到我的应用程序时会重新启动,具体取决于哪个其他应用程序正在向我的应用程序共享 PDF。示例:我与 google drive pdf 查看器共享一个 PDF,我已经在运行的活动将其拾取,并在“onNewIntent”(所需)中接收到意图。当我对三星的“我的文件”做同样的事情时,我的活动会重新启动,并且意图被赋予“onCreate”