首页 > 解决方案 > 无法使用 Smsmanager 发送短信

问题描述

我目前正在尝试制作的应用程序需要能够发送短信。不幸的是,当我按下发送 SMS 按钮时,无论是在我的手机还是模拟器上,消息都没有发送(我的消息只是“测试”,所以不会太长)。据我所知,我拥有正确的权限,所以我想知道我到底做错了什么。我尝试了各种电话号码模板,例如 +316...、+06 或仅 06。

MainActivity 类

public class MainActivity extends AppCompatActivity {

    private EditText txtMobile;
    private EditText txtMessage;
    private Button btnSms;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        txtMobile = (EditText) findViewById(R.id.mblTxt);
        txtMessage = (EditText) findViewById(R.id.msgTxt);
        btnSms = (Button) findViewById(R.id.btnSend);
        btnSms.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                try {
                    SmsManager smgr = SmsManager.getDefault();
                    smgr.sendTextMessage(txtMobile.getText().toString(), null, txtMessage.getText().toString(), null, null);
                    Toast.makeText(MainActivity.this, "SMS Sent Successfully", Toast.LENGTH_SHORT).show();
                } catch (Exception e) {
                    Toast.makeText(MainActivity.this, "SMS Failed to Send, Please try again", Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
}

清单包括...

<uses-permission android:name="android.permission.SEND_SMS"/>

发送短信需要我阅读过的内容。我还缺少什么吗?

标签: javaandroid

解决方案


推荐阅读