java - 无法使用 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"/>
发送短信需要我阅读过的内容。我还缺少什么吗?
解决方案
推荐阅读
- python - 一个更聪明的函数来确定 C 是否是 S 的精确覆盖?
- python - 如何在理想的浏览器上打开 jupyter notebook
- javascript - 我将如何使用 Socket-IO 上传图像文件?
- css - Live Sass 编译器不是**自动**更新
- c# - 在横向扩展的情况下,我们如何让重复作业仅在一个实例上触发
- c - 在 getline(3) / getdelim(3) 中使用静态分配的缓冲区
- python - 如何在while循环中找到最大数字
- reactjs - 有没有办法创建一个通过数据集分页的反应轮播?
- c - 如何将无符号整数存储在结构数组中?
- javascript - 如果用户输入超过它,如何将输入设置为它的最小/最大阈值