Sending a SMS Message from an Android Application without opening chooser?

夙愿已清 提交于 2019-12-18 07:21:58

问题


In my android application I have implemented sending SMS by using below code.

   Intent smsIntent = new Intent(Intent.ACTION_VIEW);

    smsIntent.putExtra("sms_body", "Hello World!"); 
    smsIntent.putExtra("address", "0123456789");
    smsIntent.setType("vnd.android-dir/mms-sms");

    startActivity(smsIntent);

My problem is that if I have more than one SMS application on the device, it opens the chooser to choose the sender application. I don't want the chooser to be opened; I want to send from Android's native SMS app without opening the chooser. So any help to achieve this will be appreciated.


回答1:


Use the SMS Manager?

http://developer.android.com/reference/android/telephony/SmsManager.html

void    sendTextMessage(String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent)

Send a text based SMS.




回答2:


In my android application i have implemented sending SMS by using below code.

That is not the proper way to send SMS messages. Please use ACTION_SEND or ACTION_SENDTO (the latter with an smsto: Uri). You may encounter devices which can send SMS messages but do not respond to the particular Intent structure that you are using, since that is not the way to send SMS messages.

I don't want that chooser to be opened

If your user chose to install another SMS client, they have the right to use it, since it is their device, their SMS message fee, etc. The user can elect to make your app be the default for your Intent structure if the user chooses to do so, so the user will not be presented with the chooser all of the time.

I wants to send from android Native SMS app without opening chooser

Different devices can have different "native SMS apps", put their by device manufacturers, so you have no means of determining what is the "native SMS app". And, as I noted earlier, the "native SMS app" may not even respond to that strange Intent structure that you are using.



来源:https://stackoverflow.com/questions/14261025/sending-a-sms-message-from-an-android-application-without-opening-chooser

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!