Java 使用SmsManager发送消息时出现问题
我是Android的初学者。我试图做的应用程序发送短信。当我尝试在手机上发送信息时,应用程序停止工作。模拟器中会出现一条消息:“发送”。我不明白问题出在哪里。 申请代码:Java 使用SmsManager发送消息时出现问题,java,android,sms,smsmanager,Java,Android,Sms,Smsmanager,我是Android的初学者。我试图做的应用程序发送短信。当我尝试在手机上发送信息时,应用程序停止工作。模拟器中会出现一条消息:“发送”。我不明白问题出在哪里。 申请代码: public class MainActivity extends AppCompatActivity { private static final int MY_PERMISSIONS_REQUEST_SEND_SMS =0 ; Button sendBtn; EditText txtphoneNo;
public class MainActivity extends AppCompatActivity {
private static final int MY_PERMISSIONS_REQUEST_SEND_SMS =0 ;
Button sendBtn;
EditText txtphoneNo;
EditText txtMessage;
String phoneNo;
String message;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sendBtn = (Button) findViewById(R.id.btnSendSMS);
txtphoneNo = (EditText) findViewById(R.id.editText);
txtMessage = (EditText) findViewById(R.id.editText2);
sendBtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
sendSMSMessage();
}
});
}
protected void sendSMSMessage() {
phoneNo = "+48" + txtphoneNo.getText().toString();
message = txtMessage.getText().toString();
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.SEND_SMS)
!= PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(this,
Manifest.permission.SEND_SMS)) {
} else {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.SEND_SMS},
MY_PERMISSIONS_REQUEST_SEND_SMS);
}
}
}
@Override
public void onRequestPermissionsResult(int requestCode,String permissions[], int[] grantResults) {
switch (requestCode) {
case MY_PERMISSIONS_REQUEST_SEND_SMS: {
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNo, null, message, null, null);
Toast.makeText(getApplicationContext(), "SMS sent.",
Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(),
"SMS faild, please try again.", Toast.LENGTH_LONG).show();
return;
}
}
}
}
}
在AndroidManifest.xml中,我写道:
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<uses-permission android:name="android.permission.READ_SMS"/>
提前感谢您您所说的“应用程序停止工作”是什么意思?您的代码设置为在发送短信息时显示“SMS send”(短信息已发送)。当我按“发送”按钮时,手机上的应用程序将关闭。对不起,我不知道这是什么意思。如果您认为应用程序正在崩溃,请使用Logcat检查与崩溃相关的堆栈跟踪: