android 一个Activity如何才能每次启动都进入不同的任务栈

我的应用中有一个Activity,是从桌面快捷方式启动的,我的intent是这么设置的:

 Intent addWidgetIntent = new Intent(ACTION_INSTALL_SHORTCUT);
    //        不允许重复添加到桌面
//      intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    addWidgetIntent.putExtra("duplicate", false);
    addWidgetIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, mineApp.getName());
    addWidgetIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON, bitmap);

    Intent intentLauncher = new Intent(mActivity, WebViewActivity.class);
      intentLauncher.putExtra(WebViewActivity.EXTRAS_WEB_APP_ICON_URL, mineApp.getIcon_url());
      intentLauncher.putExtra(WebViewActivity.EXTRAS_WEB_APP_URL, mineApp.getUrl());
      intentLauncher.putExtra(WebViewActivity.EXTRAS_WEB_APP_NAME, mineApp.getName());
      addWidgetIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intentLauncher);

    mActivity.sendBroadcast(addWidgetIntent);

这段代码是吧一个webapp的信息保存到intent中,然后在桌面建立快捷方式。
我的webViewActivity是这么配置的:

 <activity
            android:name=".activity.WebViewActivity"
            android:launchMode="singleInstance"
            android:configChanges="orientation|screenSize"
            android:taskAffinity="com.test.webView"
            android:alwaysRetainTaskState = "true"
            android:allowTaskReparenting="true"
            android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen">
            <intent-filter>
                <category android:name="android.intent.category.LAUNCHER" />
                <action android:name="com.android.launcher.action.INSTALL_SHORTCUT" />
            </intent-filter>
        </activity>

现在的问题是我从桌面快捷方式启动这个Activity时,不同的webapp都是启动在同一个我定义的com.test.webview任务栈中,我需要打开不同的webapp快捷方式会进入不同的任务栈,即每个用WebViewActivity打开的webApp都进入不同的任务栈。
尝试过把taskAffinity去掉,这样的话打开会在应用任务栈中,不会独立出来。
求大神帮忙,谢谢了。

阅读 10k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏