0

此代码不起作用。

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

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();
    }
  }
}
4

1 回答 1

0

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

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

第二个参数是 SMSC 的电话号码。一般来说,除非您使用自定义 SMSC,否则您应该只提供null第二个参数以使用默认 SMSC。

于 2019-06-27T15:02:19.267 回答