我遇到一个问题,即在我杀死Activity
后,我的发送app
仍然可见。当应用程序被杀时,如何关闭所有Activity
?
详细说明
我在Intent
方法中发送了onDownloadStart
,向用户显示了“发送图片”的可能应用列表,您可以在这里:
Intent sendIntent = new Intent();
sendIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_GRANT_READ_URI_PERMISSION);
sendIntent.setAction(Intent.ACTION_SEND);
File filePath = new File(String.valueOf(context.getFilesDir()));
File newFile = new File(filePath, fileName);
sendIntent.putExtra(Intent.EXTRA_STREAM, FileProvider.getUriForFile(context, context.getApplicationContext().getPackageName() + ".FileProvider", newFile));
sendIntent.setType(intentType);
context.startActivity(sendIntent);
此代码 IS 正如我所希望的那样使用 ONE 例外。当我杀死应用程序时,Activity
选择要发送图像的应用程序仍然可见。这就是全部 - 控制台中没有错误。
答案 0 :(得分:0)
你的问题在这里:
scanf
启动sendIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_GRANT_READ_URI_PERMISSION);
以选择要在新任务中发送的应用。当您从最近任务列表中删除任务时(这就是“从最近列表中刷你的应用程序”),您启动的其他任务仍然有效。
只需从Activity
来电中移除Intent.FLAG_ACTIVITY_NEW_TASK
,选择器最终应该在您应用的任务中运行,因此当您从最近的列表中滑动应用的任务时就会消失。
此外,您对单词setFlags()
的使用令人困惑。 Intent
永远不可见。它只是用于请求Android启动某个组件的一小部分数据。您的意思是Intent
,而不是Activity
。