我有一个带有 ACTION_SEND 意图过滤器的活动。一个文件可以从另一个应用程序共享到这个活动,比如说画廊,并在 onNewIntent 中处理。
但是,在我的三星 Galaxy S5 上,它并没有像以前那样工作(它已经在许多设备上进行了测试,并且仍然可以在一些设备上工作,所以我认为它是特定于设备的)。onCreate 总是被调用,而 onNewIntent 不是。它总是有一个单一任务的启动模式。
当我后台应用程序并返回时,不会调用 onCreate,但是当我从选择器中选择我的应用程序以便与它共享文件时,我会得到上述行为。
我尝试将 launchMode 设置为 singleTop 并设置标志 intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP); 关于最初启动活动的意图。我试过自行设置 Intent.FLAG_ACTIVITY_SINGLE_TOP 。我也尝试将launchMode 更改为singleInstance。当我返回活动时,savedInstanceState 似乎也为空,即使在应用程序后台运行时调用了 onSaveInstanceState。
有什么方法可以防止这种行为并调用 onNewIntent 还是设备特定的错误?