我想通过意图发送短信,但是当我使用此代码时,它会将我重定向到错误的联系人:

Intent intentt = new Intent(Intent.ACTION_VIEW);
intentt.setData(Uri.parse("sms:"));
intentt.setType("vnd.android-dir/mms-sms");
intentt.putExtra(Intent.EXTRA_TEXT, "");
intentt.putExtra("address",  phone number);
context.startActivity(intentt);


为什么?

另外,我知道一种跟踪短信发送的方法,但是我不知道该如何编码:

Starting activity: Intent {
   act=android.intent.action.SENDTO dat=smsto:%2B**XXXXXXXXXXXX** flg=0x14000000
   cmp=com.android.mms/.ui.ComposeMessageActivity }


其中XXXXXXXXXXXX是电话号码。

最佳答案

我已经从一个Blog开发了此功能。您可以通过2种方式发送短信。


打开本机短信编辑器
编写您的消息并从您的Android应用程序发送


这是第一种方法的代码。

Main.xml

<?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout
        android:id="@+id/relativeLayout1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        xmlns:android="http://schemas.android.com/apk/res/android">

            <Button
                android:id="@+id/btnSendSMS"
               android:layout_height="wrap_content"
               android:layout_width="wrap_content"
               android:text="Send SMS"
               android:layout_centerInParent="true"
               android:onClick="sendSMS">
           </Button>
   </RelativeLayout>


活动

public class SendSMSActivity extends Activity {
     /** Called when the activity is first created. */
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.main);
      }

     public void sendSMS(View v)
     {
         String number = "12346556";  // The number on which you want to send SMS
         startActivity(new Intent(Intent.ACTION_VIEW, Uri.fromParts("sms", number, null)));
     }
    /* or
     public void sendSMS(View v)
      {
     Uri uri = Uri.parse("smsto:12346556");
         Intent it = new Intent(Intent.ACTION_SENDTO, uri);
         it.putExtra("sms_body", "Here you can set the SMS text to be sent");
         startActivity(it);
      } */
 }


注意:-
使用这种方法,您不需要AndroidManifest.xml文件中的SEND_SMS权限。

对于第二种方法,请参考此BLOG。您会在这里找到很好的解释。

希望这个能对您有所帮助...

关于android - 通过 Intent 发送短信,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60791609/

10-11 22:29
查看更多