Utilizzo del context per avviare un'altra attività

Per avviare un'attività è necessario un intento, come:

Intent i = new Intent(context, class) 

Quindi per riempire il parametro di context, sono disponibili due opzioni:

  • RxJava task di Async in Android
  • Aggiungere il margine al di sopra dell'elenco di ListView (e di seguito inferiore) in Android
  • Come triggersre onPause in modo programmato nell'attività di android
  • Come assegnare la dimensione del text in valore di sp utilizzando il codice java
  • Invito Firebase non funziona in APK di creazione di rilascio
  • La barra degli strumenti setNavigationOnClickListener interrompe la funzionalità ActionbarDrawerToggle
    • Utilizza MyActivity.this o semplicemente this
    • Utilizza getApplicationContext()
    • Utilizza getBaseContext()

    E sono sicuro che ci siano altre opzioni. Queste opzioni vengono visualizzate in una sorta di tutorial, uno utilizza il primo, il successivo utilizza la terza opzione.

    Quindi quale devo usare? Anche import? È diverso per diversi casi?

  • Supporto di metadati ICY con ffmpeg
  • C'è un modo per creare il cursore di anteprima in android
  • Ripristina le impostazioni di Android Studio sull'impostazione predefinita su linux
  • java.util.concurrent.RejectedExecutionException in Async Task Android
  • Imansible risolvere il simbolo GooglePlayServicesClient sul nuovo Android Studio Project
  • coprire l'arte su android
  • 3 Solutions collect form web for “Utilizzo del context per avviare un'altra attività”

    Sì è diverso per casi diversi,

    Dipende dall'ambito. Supponiamo che se si crea un metodo in una class globale che extends Application per creare un Toast che viene utilizzato in each class Application è ansible utilizzare getApplicationContext() per creare esso.

    Se si desidera creare una vista limitata a quella attività particolare è ansible utilizzare Activity.this

    Anche se si desidera creare un AlertDialog in una class interna dire AsyncTask , allora è necessario utilizzare Activity.this , perché l' AlertDialog deve essere collegato Activity stessa.

    Inoltre non utilizzare getBaseContext() utilizzare il Context che si sta facendo. Per get ulteriori informazioni per lo stesso puoi vedere this Answer .

    Quindi, la risposta alla domanda reale è meglio utilizzare Activity.this per avviare una nuova Activity .

     Intent intent = new Intent(Current_Activity.this, Calling.class); startActivity(intent); 

    Sono sicuramente diversi. Questi sono contesti diversi e devono essere utilizzati con il minimo ambito ansible (context).

    Ad esempio se possiamo utilizzare il Context di attività invece di ApplicationContext, si dovrebbe utilizzare il context di attività, lo stesso vale per il context applicativo e il context di base.

    Fai come questo ….

     Intent intent = new Intent(); intent.setClass(MainActivity.this, SecondActivity.class); startActivity(intent); 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.