为了账号安全,请及时绑定邮箱和手机立即绑定

FLAG_ACTIVITY_NO_HISTORY 与 FLAG_ACTIVITY_NEW

FLAG_ACTIVITY_NO_HISTORY 与 FLAG_ACTIVITY_NEW

PIPIONE 2023-09-27 15:17:14
并解释何时使用这些。就像我可以使用这个代码评级自己的应用程序Uri uri = Uri.parse("market://details?id=" + getApplication().getPackageName());            Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri);            // To count with Play market backstack, After pressing back button,            // to taken back to our application, we need to add following flags to intent.            goToMarket.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY |                    Intent.FLAG_ACTIVITY_NEW_DOCUMENT |                    Intent.FLAG_ACTIVITY_MULTIPLE_TASK);            try {                startActivity(goToMarket);            } catch (ActivityNotFoundException e) {                startActivity(new Intent(Intent.ACTION_VIEW,                        Uri.parse("http://play.google.com/store/apps/details?id=" + getApplication().getPackageName())));            }如果没有这个,我的应用程序也能正常工作。我是 Android 新手,如果我问错了,抱歉。谢谢
查看完整描述

1 回答

?
慕码人8056858

TA贡献1803条经验 获得超6个赞

FLAG_ACTIVITY_NO_HISTORY

该活动不会保留在堆栈中,当您离开它时,它会完成并且从另一个活动点击后退按钮,您将无法返回到此活动。请注意,不要从此活动启动获取结果的活动 ( startActivityForResult ),因为结果不会返回到任何地方。

FLAG_ACTIVITY_NEW_DOCUMENT

处理文档的活动可以使用此属性,以便在打开的每个文档中启动同一活动的单独实例。如果您检查最近的应用程序,那么您将看到应用程序同一活动的多个屏幕,每个屏幕使用不同的文档。

FLAG_ACTIVITY_MULTIPLE_TASK

这本身并不使用。通常,它位于 FLAG_ACTIVITY_NEW_DOCUMENT 之后。如果之前将活动的新实例添加到现有任务中,则使用多任务意图指定活动的每个新实例应该是单独的任务并单独显示在最近的任务屏幕中。

这些是意图过滤器的基本差异/用途,但为了更详细地理解它们,我认为我链接的官方纪录片非常擅长解释这一点。


查看完整回答
反对 回复 2023-09-27
  • 1 回答
  • 0 关注
  • 75 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信