在Android中使用意图混淆行为

时间:2014-10-09 10:43:03

标签: android android-intent

我通过意图从我的应用程序调用GooglePlay,然后在我杀死自己的应用程序之后再次调用:

Intent intent = new Intent(Intent.ACTION_VIEW);
String sModule = "market://search?q=pub:mycompany";
intent.setData(Uri.parse(sModule));
startActivity(intent);

finish();
android.os.Process.killProcess(android.os.Process.myPid());

Task manager显示,只有GooglePlay正在运行。我的应用程序已经不存在了。

所以我现在的重点是GooglePlay。当通过主页按钮进入桌面并再次呼叫我的应用程序时,它会再次将我引导至GooglePlay。

为什么?如何独立从我的应用程序中调用GooglePlay?

我预计,当我再次启动我的应用时,我之前已经杀了它,它会启动我的应用而不是专注于谷歌播放。

1 个答案:

答案 0 :(得分:1)

关键字是“launchMode”和“task” 这种类型的问题在Android中非常烦人且复杂得多 但这次你可以试试这个。

Intent intent = new Intent(Intent.ACTION_VIEW);
String sModule = "market://search?q=pub:mycompany";
intent.setData(Uri.parse(sModule));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);

finish();

如果你无法解决,请尝试将另一个标志与FLAG_ACTIVITY_NEW_TASK结合使用。 干杯!