2017-01-26 14 views
0

私はdocumentation of setTypeと読みましたが、引数は記載されていません。 setType()キーワードの中で使用可能な文字列の引数をすべて読むことができます。 setType( "vnd.android-dir/mms-sms")に関する情報が必要です。私はいくつかのメッセージングアプリケーションに取り組んでおり、このsetTypeは私とうまく動作します。それは、デフォルトのメッセージングアプリにユーザーがかかります。私が望むのは、既定のメッセージングアプリケーションにメッセージボックスを書き込むことです。私は以下のようなコードを使用していますが、それは私だけを受信箱に連れて行きます。Android intent.setType( "文字列値")

Intent intent = new Intent(Intent.ACTION_MAIN); 
intent.addCategory(Intent.CATEGORY_DEFAULT); 
intent.setType("vnd.android-dir/mms-sms/"+phone_number_in_string); 
startActivity(intent); 

答えて

1

私が欲しいのは、デフォルトのメッセージングアプリで開いて書き込みメッセージボックスです。

使用putExtra

Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.addCategory(Intent.CATEGORY_DEFAULT); 
intent.setType("vnd.android-dir/mms-sms/"); 
intent.putExtra("address", phone_number_in_string); 
intent.putExtra("sms_body", " "); 
startActivity(intent); 
+0

それは働いていますが、それは、メッセージングアプリを開くためのチューをポップアップ表示されます。それをバイパスする方法はありますか? ACTION_MAINはそれについて質問しません –

+0

これのために[SMSManager](http://developer.android.com/reference/android/telephony/SmsManager.html)を使用してください。しかし、[あなたが2人が別のSMSクライアントをインストールすることを選択した場合、彼らは彼らのデバイスであるので、2人がそれを使用する権利を持っています、彼らのSMSメッセージ料金。ユーザは、あなたのアプリケーションをあなたのインテント構造のデフォルトにすることを選ぶことができます。そうすれば、ユーザはいつでもセレクタを表示することができます。」(http://stackoverflow.com/questions/14261025)/CommonsWare](http://stackoverflow.com/users/115145/commonsware)からの/ sent-a-sms-message-from-anroid-application-without-open-chooser)を参照してください。 – W4R10CK

+0

ありがとうございます! –