3

FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET已弃用;那我应该用什么?

private Intent createShareForecastIntent() {

    Intent shareIntent = new Intent(Intent.ACTION_SEND);
    shareIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
    shareIntent.setType("text/plain");
    shareIntent.putExtra(Intent.EXTRA_TEXT, mforecastStr + FORECAST_SHARE_HASHTAG);
    return shareIntent;


}
4

2 回答 2

9

引用文档

从 API 21 开始,这与 FLAG_ACTIVITY_NEW_DOCUMENT 的执行方式相同,应该使用它来代替它。

由于这两个符号具有相同的数值 ( 0x00080000),因此就运行时行为而言,使用哪一个并不重要。如果您compileSdkVersion是 21 岁或更高,请切换到FLAG_ACTIVITY_NEW_DOCUMENT

于 2015-10-16T20:30:40.673 回答
2

见这里(意图

        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
            i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
        }
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            i.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT);
        }
于 2017-12-16T14:40:34.783 回答