获取权限
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (ContextCompat.checkSelfPermission(ContactsActivity.this, Manifest.permission.SEND_SMS) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(ContactsActivity.this, new String[]{Manifest.permission.SEND_SMS}, 1);
} else {
sendSMS(currentContact.getPhone());
}
} else {
sendSMS(currentContact.getPhone());
}
回调
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
switch (requestCode) {
case 1:
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
sendSMS(currentContact.getPhone());
} else {
Toast.makeText(this, getString(R.string.denied_permission), Toast.LENGTH_SHORT).show();
}
break;
default:
}
}
意图
Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:"+phoneNumber));
intent.putExtra("sms_body", getString(R.string.sms));
startActivity(intent);