从Android应用程序发送的短信,而无需打开选择器?(Sending a SMS Message

2019-07-18 01:50发布

在我的Android应用程序,我已经实现了通过使用下面的代码发送短信。

   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);

我的问题是,如果我有设备上安装了一个SMS应用,它打开选择器选择发送方应用程序。 我不想选择器被打开; 我想从Android的原生应用程序的短信发送,无需打开选配。 因此,任何有助于实现这一目标将不胜感激。

Answer 1:

使用短信管理器?

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

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

发送文本短信。



Answer 2:

在我的Android应用程序,我已经实现了通过使用下面的代码发送短信。

这并不是发送短信的正确方法。 请使用ACTION_SENDACTION_SENDTO (后者与smsto: Uri )。 您可能会遇到哪些可以发送短信,但不与特定响应设备Intent所使用的结构,因为这是不以发送短信的方式。

我不希望选择器被打开

如果用户选择安装其他SMS客户端,他们不得不使用它的权利,因为这是他们的设备,他们的短信费,等等。用户可以选择将您的应用为您的默认Intent结构如果用户选择这样做,因此用户不会与选择器得到所有的时间。

我想从Android原生的短信应用发送,无需打开选择器

不同的设备可以有不同的“本地短信应用”,把他们的设备制造商,所以你必须确定什么是“原生的短信应用”的手段。 而且,正如我前面提到的,“原生的短信应用”甚至可能不会给怪回应Intent ,你正在使用结构。



文章来源: Sending a SMS Message from an Android Application without opening chooser?