2015-10-16 4 views
1

FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET est déprécié; Alors, que dois-je utiliser?J'ai essayé d'utiliser ce drapeau dans setFlags à partir du tutoriel mais c'est obsolète, que dois-je faire

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; 


} 
+0

Pensez à utiliser [ShareCompat.IntentBuilder] (https://plus.google.com/+AndroidDevelopers/posts/eEptYQgSaCf), qui fait beaucoup de cela pour vous. – ianhanniballake

Répondre

4

the documentation Citation:

À partir de l'API 21 identique à cette exécute FLAG_ACTIVITY_NEW_DOCUMENT qui doit être utilisé au lieu de cela.

Comme les deux symboles ont la même valeur numérique (0x00080000), il n'a pas vraiment d'importance que vous utilisez en termes de comportement d'exécution. Si votre compileSdkVersion est 21 ou plus, passez à FLAG_ACTIVITY_NEW_DOCUMENT

0

Voir ici (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); 
     }