2017-01-26 4 views
0

Я читал documentation of setType, но аргументы не упоминаются. Где я могу прочитать полные возможные строковые аргументы, которые используют внутри ключевого слова setType(). Мне нужна информация по setType ("vnd.android-dir/mms-sms"). Я работаю над некоторым приложением для обмена сообщениями, и этот setType отлично работает со мной. Он использует приложение для обмена сообщениями по умолчанию. То, что я хочу, - это окно с открытым письмом в приложении для обмена сообщениями по умолчанию. Я использую код, как показано ниже, но меня это касается только входящих сообщений.Android intent.setType ("String value")

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

Это работает, но он всплывает Chooser для открытия приложения обмена сообщениями. Есть ли способ обойти его? ACTION_MAIN не спрашивает об этом –

+0

[SMSManager] (http://developer.android.com/reference/android/telephony/SmsManager.html) для этого. Но [Если пользователь ur выбрал 2, установите еще один SMS-клиент, у них есть право использовать его 2, так как это их устройство, их плата за SMS-сообщение. Пользователь может выбрать, чтобы ваше приложение было по умолчанию для вашей структуры Intent, если пользователь решит это сделать, поэтому пользователю не будет предоставлен выборщик все время] (http://stackoverflow.com/questions/14261025/send-a-sms-message-from-an-android-application-without-opening-chooser) из [CommonsWare] (http://stackoverflow.com/users/115145/commonsware). – W4R10CK

+0

спасибо! –