2017-04-21 8 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()メソッドで動作していないということでした。 –

関連する問題