通过意图发送短信 [英] Send a SMS via intent

查看:143
本文介绍了通过意图发送短信的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I want to send an SMS via intent, but when I use this code, it redirects me to a wrong contact:

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

为什么?

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

Also, I know a way to follow SMS sending, but I do not know how code this:

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

其中XXXXXXXXXXXX是电话号码.

where XXXXXXXXXXXX is phone number.

推荐答案

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

I have developed this functionality from one Blog. There are 2 ways you can send SMS.

  1. 打开本机SMS作曲家
  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权限.

NOTE:- In this method, you don’t require SEND_SMS permission inside the AndroidManifest.xml file.

关于第二种方法,请参考此 BLOG .您将在这里找到很好的解释.

For 2nd method refer to this BLOG. You will find a good explanation from here.

希望这对您有帮助...

Hope this will help you...

这篇关于通过意图发送短信的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆