首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用短信SmsManager

如何使用短信SmsManager
EN

Stack Overflow用户
提问于 2014-02-15 16:35:08
回答 2查看 831关注 0票数 0

嗨,伙计们,我是编程新手。下面的代码能够通过按下按钮将预定义的SMS发送到预定义的号码,但它将带到message composer屏幕,并要求我单击send。如何不通过消息编辑器直接发送短消息。我发现很少有人会问这个问题,其中一个解决方案是使用SMSmanger,但我不知道如何在代码中使用SMSmanger代码。

代码语言:javascript
复制
public class SendSMSActivity extends Activity {

Button buttonSend;    
Button buttonSend2;


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);     

    buttonSend = (Button) findViewById(R.id.buttonSend);     
    buttonSend2 = (Button) findViewById(R.id.buttonSend2);



    OnClickListener listener = new OnClickListener() {        

        @Override
        public void onClick(View v) {   

            switch (v.getId()) {    

            case R.id.buttonSend:     
                 Intent sendIntent = new Intent(Intent.ACTION_VIEW);  
                 sendIntent.putExtra("sms_body", "#abc"); 
                 sendIntent.putExtra("address", "9900990");   
                 sendIntent.setType("vnd.android-dir/mms-sms");
                 startActivity(sendIntent);       
                 break;

            case R.id.buttonSend2: 
                Intent sendIntent1 = new Intent(Intent.ACTION_VIEW);
                 sendIntent1.putExtra("sms_body", "#def"); 
                 sendIntent1.putExtra("address", "9900990");
                 sendIntent1.setType("vnd.android-dir/mms-sms");
                 startActivity(sendIntent1);
                 break;

            }

        }
    };

buttonSend.setOnClickListener(listener);       
buttonSend2.setOnClickListener(listener);
}
)

谢谢

EN

回答 2

Stack Overflow用户

发布于 2014-02-15 16:38:27

尝试以下操作:

代码语言:javascript
复制
SmsManager sms = SmsManager.getDefault();  
sms.sendTextMessage(phoneNumber, null, message, null, null);

注意: Its需要权限android.permission.SEND_SMS

票数 0
EN

Stack Overflow用户

发布于 2019-04-06 14:39:48

MainActivity

代码语言:javascript
复制
    EditText etPhone;
    EditText etMessage;

    Button button;


    public String[] mPermission = {SEND_SMS, READ_SMS};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        etPhone = findViewById(R.id.main_et_phone);
        etPhone = findViewById(R.id.main_et_message);
        button = findViewById(R.id.main_btn_send);


        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                SendSMS();
            }
        });
    }

    private void SendSMS() {

        PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, new Intent("SMS_SEND"), 0);
        PendingIntent pendingIntentDel = PendingIntent.getBroadcast(getApplicationContext(), 0, new Intent("SMS_DELIVERED"), 0);

        SmsManager smsManager = SmsManager.getDefault();
        smsManager.sendTextMessage(etPhone.getText().toString(), null, etMessage.getText().toString(), pendingIntent, pendingIntentDel);
    }

    private void SMSPermission() {

        ActivityCompat.requestPermissions(MainActivity.this, mPermission, 1);
    }

    @Override
    protected void onResume() {
        super.onResume();
        SMSPermission();
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21795262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档