2017-04-21 40 views
0

当我使用i.setType("text/plain");,那么我的按钮正在工作,但不使用时,它不工作。点击它后没有给出选项来打开任何应用程序。为什么这样?。请帮帮我。为什么不使用setType()时按钮不工作?

这里是MainActivity代码:

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(Intent.EXTRA_SUBJECT,"Email From Ankit's Own 
       Created App"); 
       i.putExtra(Intent.EXTRA_TEXT,text); 

       if (i.resolveActivity(getPackageManager()) != null) { 
        startActivity(i); 
       } 
      } 
     }); 
    } 
} 
+0

哪里有'createChooser'? –

+0

为什么问为什么?如果你的代码工作? – faruk

回答

0

你应该在下列方式使用startActivity:

      try { 
           startActivity(Intent.createChooser(emailIntent, 
             "Send email using...")); 
          } catch (android.content.ActivityNotFoundException ex) { 
           Toast.makeText(getActivity(), 
             "No email clients installed.", 
             Toast.LENGTH_SHORT).show(); 
          } 
0

它需要一个电子邮件应用程序,让您的数据,

一个更详细的例子来获取共享文件,你可以看看它here

0

试试这个,

/* Create the Intent */ 

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 

/* Fill it with Data */ 
emailIntent.setType("plain/text"); 
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"[email protected]"}); 
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject"); 
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Text"); 

/* Send it off to the Activity-Chooser */ 
context.startActivity(Intent.createChooser(emailIntent, "Send mail...")); 
+0

但我的查询是,为什么按钮不适用于setType()方法。 –

相关问题