【发布时间】:2021-05-05 11:16:01
【问题描述】:
在下面的程序中,我在发送消息之前请求 SMS 权限。
在第一次应用程序执行时,当消息请求被确认时,会检查权限,如果没有,则会弹出一个请求用户允许应用程序的窗口。
发出此弹出窗口时,应用程序在后台移动。
我发现了很多关于这个问题的主题,但没有解决我的问题。例如。清单中缺少 nohistory 条目。
private void checkForSmsPermission() {
if (ActivityCompat.checkSelfPermission(this,
Manifest.permission.SEND_SMS) !=
PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.SEND_SMS},
MY_PERMISSIONS_REQUEST_SEND_SMS);
return;
} else {
// Permission already granted. Enable the SMS button.
return;
}
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (requestCode == MY_PERMISSIONS_REQUEST_SEND_SMS) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Toast.makeText(this, "Permission GRANTED", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Permission DENIED", Toast.LENGTH_SHORT).show();
}
}
}
public void send_command (String text){
checkForSmsPermission();
//Get the SmsManager instance and call the sendTextMessage method to send message
SmsManager sms=SmsManager.getDefault();
sms.sendTextMessage(recipient_number, null, text, null,null);
}
【问题讨论】:
-
你的 logcat 在说什么?
标签: android permissions