2017-04-21 30 views
-2

我正在創建一個應用程序,其中有一個活動,其中有一個可以輸入數據的EditText。我想通過點擊按鈕將數據通過郵件,消息,社交App等服務發送給其他人。我通過Implicit Intents嘗試了這種方式,但我的數據在其他應用程序中並沒有visibe。如何做? 我MainAcitivity代碼如下:如何通過隱式意圖將我的數據傳遞給其他應用程序

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

    Button bt=(Button) findViewById(R.id.bt); 
     bt.setOnClickListener(new View.OnClickListener() 
     { 
      @Override 
      public void onClick(View v) { 
       Intent i=new Intent(); 
       i.setAction(Intent.ACTION_SEND); 
       i.setType("text/plain"); 
       EditText et=(EditText) findViewById(R.id.et); 
       String text=et.getText().toString(); 
       i.putExtra("name",text); 
       if (i.resolveActivity(getPackageManager()) != null) { 
        startActivity(i); 
       } 



       } 
      } 
     ); 
    } 
} 
+0

哪裏是爲其他應用程序的代碼,得到意圖? –

+0

我想要的應用程序,如Gmail,Whatsaap,電子郵件等。接受我的意見並將我發送給我想要的聯繫人。現在我怎樣才能代碼爲Gmail所有 – Ankit

+0

請參閱這裏爲Gmail http://stackoverflow.com/questions/8284706/send-email-via-gmail –

回答

0

試着做這樣的:

EditText text; 
Button btnSave; 
String emailstring; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_checking_intent); 
    text = (EditText) findViewById(R.id.email); 
    btnSave = (Button) findViewById(R.id.button); 
    btnSave.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      emailstring = text.getText().toString(); 
      Intent i = new Intent(Intent.ACTION_SEND); 
      i.setType("message/rfc822"); 
      i.putExtra(Intent.EXTRA_EMAIL , new String[]{"[email protected]"}); 
      i.putExtra(Intent.EXTRA_SUBJECT, "subject of your email"); 
      i.putExtra(Intent.EXTRA_TEXT , emailstring); 
      try { 
       startActivity(Intent.createChooser(i, "Send mail...")); 
      } catch (android.content.ActivityNotFoundException ex) { 
       Toast.makeText(CheckingIntent.this, "There are no email app installed.", Toast.LENGTH_SHORT).show(); 
      } 
     } 
    }); 
} 
0

嘗試這樣

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Button button=(Button)findViewById(R.id.button2); 
    final EditText editText=(EditText)findViewById(R.id.editText); 

    button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent intent =new Intent(Intent.ACTION_SEND); 
      intent.setType("text/plain"); 
      intent.putExtra(Intent.EXTRA_TEXT,editText.getText().toString()); 
      startActivity(intent); 
     } 
    }); 
} 

}

相關問題