Android运行时权限-完全访问SIP帐户/呼叫/消息
我在Android phone one plus 7T Android 10版本中面临一个关于SIP呼叫的许可问题 以下是我在清单中添加的权限:Android运行时权限-完全访问SIP帐户/呼叫/消息,android,android-permissions,sip,Android,Android Permissions,Sip,我在Android phone one plus 7T Android 10版本中面临一个关于SIP呼叫的许可问题 以下是我在清单中添加的权限: <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.USE_SIP" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.CONFIGURE_SIP" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<uses-feature android:name="android.software.sip.voip" />
<uses-feature
android:name="android.hardware.wifi"
android:required="false" />
<uses-feature
android:name="android.hardware.microphone"
android:required="true" />
<uses-feature
android:name="android.hardware.touchscreen"
android:required="false" />
<uses-feature
android:name="android.hardware.bluetooth"
android:required="false" />
<uses-feature
android:name="android.hardware.screen.portrait"
android:required="false" />
<uses-feature
android:name="android.hardware.camera"
android:required="false" />
<uses-feature
android:name="android.hardware.camera.autofocus"
android:required="false" />
<uses-feature
android:name="android.hardware.camera.flash"
android:required="false" />
<uses-feature
android:name="android.hardware.camera.front"
android:required="false" />
以下是运行时权限的代码:
public static String[] PERMISSIONS = {Manifest.permission.CAMERA, Manifest.permission.USE_SIP, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.RECORD_AUDIO};
private static final int PERMISSION_REQUEST_CODE = 200;
private static final int APP_UPDATE_REQUEST_CODE = 21986;
public boolean requestAllpermission() {
int result;
List<String> listPermissionsNeeded = new ArrayList<>();
for (String p : PERMISSIONS) {
result = ContextCompat.checkSelfPermission(getApplicationContext(), p);
if (result != PackageManager.PERMISSION_GRANTED) {
listPermissionsNeeded.add(p);
}
}
if (!listPermissionsNeeded.isEmpty()) {
ActivityCompat.requestPermissions(this, listPermissionsNeeded.toArray(new String[listPermissionsNeeded.size()]), PERMISSION_REQUEST_CODE);
return false;
}
return true;
}
public static String[]PERMISSIONS={Manifest.permission.CAMERA,Manifest.permission.USE\u SIP,Manifest.permission.WRITE\u EXTERNAL\u STORAGE,Manifest.permission.READ\u EXTERNAL\u STORAGE,Manifest.permission.RECORD\u AUDIO};
私有静态最终int权限\请求\代码=200;
私有静态最终内部应用程序更新请求代码=21986;
公共布尔值requestAllpermission(){
int结果;
List ListPermissionsNeed=new ArrayList();
for(字符串p:权限){
结果=ContextCompat.checkSelfPermission(getApplicationContext(),p);
如果(结果!=已授予PackageManager.PERMISSION){
所需的列表权限。添加(p);
}
}
如果(!ListPermissionsNeed.isEmpty()){
ActivityCompat.requestPermissions(此,ListPermissionsNeed.toArray(新字符串[ListPermissionsNeed.size()]),权限\请求\代码);
返回false;
}
返回true;
}
SIP弹出窗口的权限也会显示给用户,但除此之外,它还要求在应用程序信息部分的图像中显示一个以上的权限。默认情况下会被拒绝,因为即使在允许使用Sip权限后,用户也无法进行Sip调用
在playstore权限列表中,我可以看到它显示了对SIP帐户/呼叫/消息的完全访问权限。如何在用户端请求此权限