java - 短信管理器不工作。我还在 list 中包含了许可

标签 java android android-intent android-sms

此代码不起作用。

我已经包含了<uses-permission android:name="android.permission.SEND_SMS"/>在 list 中。

public class MainActivity extends AppCompatActivity {

Button send;
EditText phoneNo;
EditText sms;
SmsManager smsManager;

void sendMe(View view){
   sendMessage();

}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

}

public void sendMessage() {

    phoneNo = (EditText) findViewById(R.id.PhoneNo);
    sms = (EditText) findViewById(R.id.sms);

    String Number = phoneNo.getText().toString();
    String message = sms.getText().toString();
    try {
       smsManager = SmsManager.getDefault();
        smsManager.sendTextMessage(Number, "Number", message, null, null);
        Toast.makeText(this,"SMS SEND", Toast.LENGTH_SHORT).show();
    }catch(Exception e){
        Toast.makeText(this, "SMS FAILED", Toast.LENGTH_SHORT).show();
    }
  }
}

最佳答案

您还没有发布异常,所以我不能 100% 确定,但我假设此 iis 由于此调用中的第二个参数而失败:

smsManager.sendTextMessage(Number, "Number", message, null, null);

第二个参数是短信中心的电话号码。一般来说,除非您使用自定义 SMSC,否则您只需提供 null 作为第二个参数即可使用默认 SMSC。

关于java - 短信管理器不工作。我还在 list 中包含了许可,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56785381/

相关文章:

android - 从广播接收器发送 Intent 并附加到 Activity (服务问题)

java - 如何使用变量来启动新的 Intent

java - 如何在recyclerview中提供onclick以从mysql获取另一个 Activity 的值

Java JButton 大小问题

java - 需要帮助在 java 中循环我的 try 和 catch 语句

java - Android 上的 File、FileReader、BufferedReader 返回 null

java - 如何在java中设置mp3文件的专辑封面

c# - 在unity3d中访问android jar

android - 根据listview选择显示android listview

java - 更新 MutableLiveData 时可观察到的抛出异常