intent调用分享时,加Intent.FLAG_ACTIVITY_NEW_TASK 和不加Intent.FLAG_ACTIVITY_NEW_TASK 的区别
时间: 2024-02-17 07:58:31 浏览: 142
Intent在Activity之间传值的几种方式
加上Intent.FLAG_ACTIVITY_NEW_TASK标志和不加的区别在于启动Activity时是否创建新的任务栈。
当不加Intent.FLAG_ACTIVITY_NEW_TASK标志时,启动的Activity会在当前任务栈中打开,即在当前应用的任务栈中打开新的Activity。
当加上Intent.FLAG_ACTIVITY_NEW_TASK标志时,启动的Activity会在一个新的任务栈中打开,即在新的任务栈中打开新的Activity。这样可以实现在不同应用之间进行Activity跳转时,每个应用都有自己独立的任务栈,互不干扰。
举个例子来说明区别:
假设应用A和应用B都有ActivityA和ActivityB,现在在应用A的ActivityA中调用分享功能,如果不加Intent.FLAG_ACTIVITY_NEW_TASK标志,那么分享界面会在应用A的任务栈中打开,用户返回时会回到应用A的ActivityA;如果加上Intent.FLAG_ACTIVITY_NEW_TASK标志,那么分享界面会在一个新的任务栈中打开,用户返回时会回到之前的应用。
所以,加上Intent.FLAG_ACTIVITY_NEW_TASK标志可以实现在不同应用之间进行Activity跳转时,每个应用都有自己独立的任务栈,不加该标志则在当前应用的任务栈中打开新的Activity。
阅读全文