问题
FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET
is deprecated; so what should I use?
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;
}
回答1:
Quoting the documentation:
As of API 21 this performs identically to FLAG_ACTIVITY_NEW_DOCUMENT which should be used instead of this.
Since both symbols have the same numerical value (0x00080000
), it does not really matter which one you use in terms of runtime behavior. If your compileSdkVersion
is 21 or higher, switch to FLAG_ACTIVITY_NEW_DOCUMENT
回答2:
See here (Intent)
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);
}
来源:https://stackoverflow.com/questions/33179042/i-tried-using-this-flag-in-setflags-from-tutorial-but-its-deprecated-what-do-i