2017-04-21 48 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); 
     } 
    }); 
} 

}

相关问题