0

Ich möchte eine Floating-Aktion Schaltfläche zum Öffnen einer neuen Nachricht von meinem Android-Handy verwenden. Ich habe die Methode startActivityForResult() zum erfolgreichen Öffnen von Einstellungen verwendet. Aber wenn ich dieselben zum Öffnen von Nachrichten verwende, scheint diese Methode nicht zu funktionieren. Ich habe auch meinen Code hinzugefügt, um klarer zu sein.So öffnen Sie Nachrichten von Android App mit startActivityForResult()

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
     fab.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       startActivityForResult(new Intent(Settings.ACTION_BLUETOOTH_SETTINGS),0); 
       /*Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) 
         .setAction("Action", null).show();*/ 
      } 
     }); 

Antwort

0

versuchen, etwas wie folgt aus:

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
     fab.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       Intent sendIntent = new Intent(Intent.ACTION_VIEW);   
       sendIntent.setData(Uri.parse("sms:")); 
       startActivityForResult(sendIntent , 0); 

      } 
     }); 
+0

Vielen Dank. Es funktionierte. Aber kannst du mir einen Gefallen tun? Ich versuche tatsächlich, den Code zu verstehen. Also können Sie mir bitte einen Code zum Öffnen von Kontakten von der startActivityForResult() - Methode zur Verfügung stellen, damit ich beide studieren kann und den Unterschied herausfinden kann. Obwohl ich verschiedene Beispiele im Internet gefunden habe, habe ich niemanden gefunden, der diese Methode benutzt. –

+0

Hallo, Sie müssen die "Daten" und die "Aktion" entsprechend für den Kontakt ändern. Hier ist es eine Absicht, den Kontakt zu wählen. 'Intent Intent = neue Absicht (Intent.ACTION_PICK, Contacts.CONTENT_URI); startActivityForResult (intent, PICK_CONTACT); ' –

+0

Ich tat das früher (dank stackoverflow), aber mit Problemen mit PICK_CONTACT-Parameter. Der Fehler zeigt an, dass das Symbol PICK_CONTACT nicht aufgelöst werden kann. Gibt es etwas, das ich in meine Java-Datei importieren sollte? –

1

Sie diese Absicht senden:

Intent intent = new Intent(Intent.ACTION_VIEW);   
intent.setData(Uri.parse("sms:")); 
startActivity(intent); 

Beachten Sie, dass in diesem Fall startActivityForResult nicht notwendig ist, weil die zweite Aktivität nicht ist soll einen Wert an den ersten zurückgeben.