FLAG_ACTIVITY_NO_HISTORY 与 FLAG_ACTIVITY_NEW

并解释何时使用这些。就像我可以使用这个代码评级自己的应用程序


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 新手,如果我问错了,抱歉。谢谢


PIPIONE
浏览 77回答 1
1回答

慕码人8056858

FLAG_ACTIVITY_NO_HISTORY该活动不会保留在堆栈中,当您离开它时,它会完成并且从另一个活动点击后退按钮,您将无法返回到此活动。请注意,不要从此活动启动获取结果的活动 ( startActivityForResult ),因为结果不会返回到任何地方。FLAG_ACTIVITY_NEW_DOCUMENT处理文档的活动可以使用此属性,以便在打开的每个文档中启动同一活动的单独实例。如果您检查最近的应用程序,那么您将看到应用程序同一活动的多个屏幕,每个屏幕使用不同的文档。FLAG_ACTIVITY_MULTIPLE_TASK这本身并不使用。通常,它位于 FLAG_ACTIVITY_NEW_DOCUMENT 之后。如果之前将活动的新实例添加到现有任务中,则使用多任务意图指定活动的每个新实例应该是单独的任务并单独显示在最近的任务屏幕中。这些是意图过滤器的基本差异/用途,但为了更详细地理解它们,我认为我链接的官方纪录片非常擅长解释这一点。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java