【发布时间】:2016-07-21 11:57:47
【问题描述】:
我需要从我的应用程序中拨打给定的电话号码。
所以我必须验证通话权限。
但对话框显示在我的应用程序中,它直接进入拒绝功能。我在这里做了什么问题。请查看我的代码并为此提供解决方案。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CALL_PHONE}, 105);
} else {
startActivity(callIntent);
}
} else {
startActivity(callIntent);
}
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
switch (requestCode) {
case 105:
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
callJobseeker();
} else {
Toast.makeText(getApplicationContext(), "You cannot make a call.Because call permission is denied", Toast.LENGTH_SHORT).show();
}
break;
}
}
在清单文件中被授予如下权限:
<uses-permission android:name="android.permission.CALL_PHONE" />
<permission android:name="com.example.permission.CALL_PHONE"
/>
【问题讨论】:
-
您正在检查哪个 android 操作系统?
-
@NilayDani 正在检查 6.0 版本
-
@KrishnaVeni 为什么你有写权限 com.jobsearchtry.permission.CALL_PHONE
-
@KrishnaVeni 运行时权限stackoverflow.com/questions/38141523/…
-
@SohailZahid 是的,我已经尝试过同样的方法...但是没有显示允许和拒绝的警报对话框...它会自动转到拒绝选项。为什么?
标签: android permissions request android-6.0-marshmallow