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?

  • PackageManager's applicationInfo.name ist immer null
  • Android: Wie bekomme ich 3G / UMTS Signalstärke Werte
  • Wie bekomme ich android searchview Popup-Text bei der Suche?
  • Android Benutzerdefinierte URL zum Öffnen von App wie in iOS
  • Entscheiden, wer Spieler eins und zwei in einem runden Spiel mit Google Play Game Services ist
  • Android - Anhören für eingehende SMS-Nachrichten
  • 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); 

  • ViewHolder - gute Praxis
  • Honeycomb ActionBar Titel Schatten
  • PhoneGap 1.4 Wrapping Sencha Touch 2.X - Was ist mit der Leistung?
  • Überschreiben der standardmäßigen Contextual Action Bar für Textauswahl (in WebView) in Android
  • Warum blinken die Tabs / Texte des TabLayouts, wenn sie zwischen den Seiten wechseln?
  • Android AsyncTask Kontext Verhalten
  • 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.