在我的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的原生应用程序的短信发送,无需打开选配。 因此,任何有助于实现这一目标将不胜感激。
使用短信管理器?
http://developer.android.com/reference/android/telephony/SmsManager.html
void sendTextMessage(String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent)
发送文本短信。
在我的Android应用程序,我已经实现了通过使用下面的代码发送短信。
这并不是发送短信的正确方法。 请使用ACTION_SEND
或ACTION_SENDTO
(后者与smsto:
Uri
)。 您可能会遇到哪些可以发送短信,但不与特定响应设备Intent
所使用的结构,因为这是不以发送短信的方式。
我不希望选择器被打开
如果用户选择安装其他SMS客户端,他们不得不使用它的权利,因为这是他们的设备,他们的短信费,等等。用户可以选择将您的应用为您的默认Intent
结构如果用户选择这样做,因此用户不会与选择器得到所有的时间。
我想从Android原生的短信应用发送,无需打开选择器
不同的设备可以有不同的“本地短信应用”,把他们的设备制造商,所以你必须确定什么是“原生的短信应用”的手段。 而且,正如我前面提到的,“原生的短信应用”甚至可能不会给怪回应Intent
,你正在使用结构。