3

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;


}
codingEnthusiast
  • 3,800
  • 2
  • 25
  • 37
macphail magwira
  • 191
  • 4
  • 15
  • Consider using [ShareCompat.IntentBuilder](https://plus.google.com/+AndroidDevelopers/posts/eEptYQgSaCf), which does much of this for you. – ianhanniballake Oct 16 '15 at 22:15

2 Answers2

10

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

CommonsWare
  • 986,068
  • 189
  • 2,389
  • 2,491
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);
        }