我在帖子How to open an application inside another application within the latters boundaries in android?
中看到了但是当我尝试使用自定义URL方案打开另一个应用程序时,我的应用程序正在发生这种情况。有谁知道为什么会发生这种情况?
调用其他应用程序的代码如下所示。
String callBackUrl = “OtherApp://result?params”; // This is supposed to be a callback URL with query parameters
String redirectUrl = callBackUrl.substring(0, callBackUrl.indexOf("://"));
Intent redirectIntent = new Intent();
redirectIntent.putExtra(Intent.EXTRA_TEXT, callBackUrl);
redirectIntent.setAction(redirectUrl);
redirectIntent.setType("text/plain");
startActivity(redirectIntent);
答案 0 :(得分:0)
原因是因为我的应用程序是一个单任务应用程序。它是我的activity元素的AndroidManifest.xml中的android属性。
android:launchMode="singleTask"
我找到的解决方案是在" redirectIntent"中添加两个标志。
redirectIntent.setFlags(Intent.URI_INTENT_SCHEME);
redirectIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);