Suk*_*iya 5 android android-intent
我通过我的应用程序启动Android Market,使用此代码搜索类似的产品:
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://market.android.com/search?q=pub:\"some txt\""));
c.startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
这适用于展示类似产品.但是,如果我在市场上点击主页按钮,当我重新打开应用程序时,它仍会显示市场结果.在这种情况下,我想转到主菜单.
有解决方案吗?
hac*_*bod 15
对不起,FLAG_ACTIVITY_NO_HISTORY
可能不是正确的解决方案.请注意它的语义 - 活动不会出现在历史记录中.因此,如果用户点击其中的一个东西以进入下一个活动,然后按下它们,它们将不会返回到前一个(但之前的那个).这很少是你想要的.
更糟糕的是,如果他们从市场活动中进入第二个活动,请按回家,然后返回到您的应用程序,第二个活动仍将在那里(它保持在历史中).
这种情况的正确标志是FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET.
Ric*_*lay 10
如果将FLAG_ACTIVITY_NO_HISTORY
标志添加到intent中,它将不会保留在历史堆栈中.当用户导航回您的应用程序时,将显示在您启动市场之前可见的最后一个活动.
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse("http://market.android.com/search?q=pub:\"some txt\""));
c.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
c.startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
编辑: hackbod是正确的:FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET
更适合您的需要.
归档时间: |
|
查看次数: |
9839 次 |
最近记录: |