在不打开选择器的情况下从Android应用程序发送SMS消息?

Raj*_*Raj 1 sms android android-implicit-intent

在我的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);
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果我在设备上有多个SMS应用程序,它会打开选​​择器以选择发件人应用程序.我不希望打开选择器; 我想从Android的原生短信应用程序发送,而无需打开选择器.所以任何帮助实现这一点将不胜感激.

Com*_*are 5

在我的Android应用程序中,我使用下面的代码实现了发送短信.

这不是发送SMS消息的正确方法.请使用ACTION_SENDACTION_SENDTO(后者带有smsto: Uri).您可能会遇到可以发送SMS消息但不响应Intent您正在使用的特定结构的设备,因为这不是发送SMS消息的方式.

我不希望打开这个选择器

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

我想从Android Native SMS应用程序发送而不打开选择器

不同的设备可以拥有不同的"原生短信应用",由设备制造商提供,因此您无法确定什么是"原生短信应用".而且,正如我之前提到的,"原生短信应用程序"甚至可能无法响应Intent您正在使用的奇怪结构.