Android New Intent starten bestimmte Methode

Ich möchte eine meiner bestehenden Aktivitäten beginnen und die Aktivität zwingen, eine bestimmte Methode aufzurufen, nachdem sie angefangen hat.

Ist das möglich?

  • Android Device Chooser - Gerät nicht angezeigt
  • DequeueBuffer: kann nicht mehrfache Puffer löschen, ohne die Pufferzählung einzustellen
  • XML ziehbar aus png und Overlay
  • DELETE_FAILED_INTERNAL_ERROR Fehler beim Installieren von APK
  • Wenn ich getMeasuredWidth () oder getWidth () für das Layout in onResume anrufe, geben sie 0 zurück
  • Wie kann ich ein Fragment-Layout aus XML definieren?
  • Kann ich eine Methode definieren, die nach dem Erstellen der Aktivität in meiner Absicht aufgerufen werden soll?

    Zum Beispiel etwas wie:

    Intent intent = new Intent(this, com.app.max.Home.class.myMethod); 

  • Wie man einen Onclick-Listener für eine Imagebutton in einem Alertdialog setzt
  • Appcompat v21 Symbolleistenhöhe Pre-Lollipop
  • Gewicht (Prozentsatz) programmgesteuert einstellen
  • Anforderung Körper Inhalt mit Retrofit 2.0 POST-Methode
  • Wie formatiere ich ein Doppel mit Android-View-Datenbindungen?
  • Android: Abnehmende Größe des Knopfes
  • 4 Solutions collect form web for “Android New Intent starten bestimmte Methode”

    Nein, ich glaube nicht, dass du so etwas haben kannst. Intent intent = new Intent (this, com.app.max.Home.class.method);

    Aber das kannst du

     Intent intent = new Intent(this, com.app.max.Home.class); intent.putExtra("methodName","myMethod"); startActivity(intent); 

    Und dann in der angerufenen Aktivität (wo Sie die Methode starten müssen) können Sie die Absicht nehmen und entscheiden, welche Methode anzurufen

     @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); if(intent.getStringExtra("methodName").equals("myMethod")){ mymethod(); } } 

    Ich denke, der folgende Link wird dir helfen. Umschalten zwischen Aktivitäten

    Ich löse dieses Problem, indem ich onCreate anstelle von onNewIntent .

    Aktivität A:

     Intent intent = new Intent(this, com.app.max.Home.class); intent.putExtra("methodName","myMethod"); startActivity(intent); 

    Com.app.max.Home Tätigkeit:

     protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.home); if(savedInstanceState == null) { Bundle extras = getIntent().getExtras(); if (extras == null) { //Extra bundle is null }else{ String method = extras.getString("methodName"); if (method.equals("myMethod")) { //Call method here! } } } 

    Hoffe, diese Lösung löst dein Problem

    Sie Frage ist interessant, aber es gibt keine Möglichkeit, dass Sie es mit Intent tun können. Sie müssen verstehen, dass, wenn Sie eine Aktivität beginnen, geht es durch einen Lebenszyklus, der ist: onCreate() -> onStart()>OnResume() . Also, was Sie tun können, ist diese Methode von onResume() wie folgt zu starten:

     @Override protected void onResume() { super.onResume(); myMethod();//start your method from here } 

    Ich versuche nur zu helfen, gib mir noch mehr Informationen über dein Problem, wenn dieser Ansatz dein Problem nicht löst.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.