Android 6.0 权限。阅读短信
Android 6.0 Permissions. Read SMS
我想获得在我的应用程序中读取短信的权限。这是我的代码:
String permission = Manifest.permission.READ_SMS;
if (ContextCompat.checkSelfPermission(getContext(), permission) != PackageManager.PERMISSION_GRANTED){
permissionList.add(permission);
if (!ActivityCompat.shouldShowRequestPermissionRationale(getActivity(), permission)){
requestPermissions(new String[]{permission}), SMS_PERMISSION);
}
}
我没有收到确认权限请求的对话框。对于其他权限(如 WRITE_STORAGE
、READ_CONTACTS
),我得到了这个对话框。你知道怎么解决吗?
方法onRequestPermissionsResult
告诉我没有被授予权限。但它有效,没有确认对话框。
您是否也在 AndroidManifest.xml
中添加了 read_sms
权限?
我需要 <uses-permission-sdk-23/>
确认对话框。
int GET_MY_PERMISSION = 1;
if(ContextCompat.checkSelfPermission(MainActivity.this,Manifest.permission.READ_SMS)
!= PackageManager.PERMISSION_GRANTED){
if(ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this,
Manifest.permission.READ_SMS)){
/* do nothing*/
}
else{
ActivityCompat.requestPermissions(MainActivity.this,
new String[]{Manifest.permission.READ_SMS},GET_MY_PERMISSION);
}
}
这段代码工作正常。
我在 Nougat(api level:25) 上使用了它,我希望它对你也有用!
我关注了this
您可以使用此代码:
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if (requestCode == ACCESS_SMS) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Toast.makeText(getApplicationContext(), "Permission granted"+checkboxChecked, Toast.LENGTH_SHORT).show();
System.out.println("Checkedbox= "+checkboxChecked);
} else {
Toast.makeText(getApplicationContext(), "Permission denied"+checkboxChecked, Toast.LENGTH_SHORT).show();
}
}
}
我想获得在我的应用程序中读取短信的权限。这是我的代码:
String permission = Manifest.permission.READ_SMS;
if (ContextCompat.checkSelfPermission(getContext(), permission) != PackageManager.PERMISSION_GRANTED){
permissionList.add(permission);
if (!ActivityCompat.shouldShowRequestPermissionRationale(getActivity(), permission)){
requestPermissions(new String[]{permission}), SMS_PERMISSION);
}
}
我没有收到确认权限请求的对话框。对于其他权限(如 WRITE_STORAGE
、READ_CONTACTS
),我得到了这个对话框。你知道怎么解决吗?
方法onRequestPermissionsResult
告诉我没有被授予权限。但它有效,没有确认对话框。
您是否也在 AndroidManifest.xml
中添加了 read_sms
权限?
我需要 <uses-permission-sdk-23/>
确认对话框。
int GET_MY_PERMISSION = 1;
if(ContextCompat.checkSelfPermission(MainActivity.this,Manifest.permission.READ_SMS)
!= PackageManager.PERMISSION_GRANTED){
if(ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this,
Manifest.permission.READ_SMS)){
/* do nothing*/
}
else{
ActivityCompat.requestPermissions(MainActivity.this,
new String[]{Manifest.permission.READ_SMS},GET_MY_PERMISSION);
}
}
这段代码工作正常。 我在 Nougat(api level:25) 上使用了它,我希望它对你也有用! 我关注了this
您可以使用此代码:
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if (requestCode == ACCESS_SMS) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Toast.makeText(getApplicationContext(), "Permission granted"+checkboxChecked, Toast.LENGTH_SHORT).show();
System.out.println("Checkedbox= "+checkboxChecked);
} else {
Toast.makeText(getApplicationContext(), "Permission denied"+checkboxChecked, Toast.LENGTH_SHORT).show();
}
}
}