Skip to content

Commit 6ccb56b

Browse files
committed
incoming voip call permission check
1 parent 1a632d9 commit 6ccb56b

File tree

1 file changed

+18
-5
lines changed

1 file changed

+18
-5
lines changed

chat/src/main/java/cn/wildfire/chat/kit/voip/SingleVoipCallActivity.java

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import android.view.WindowManager.LayoutParams;
2727
import android.widget.Toast;
2828

29+
import androidx.annotation.NonNull;
2930
import androidx.fragment.app.Fragment;
3031
import androidx.fragment.app.FragmentActivity;
3132
import androidx.fragment.app.FragmentManager;
@@ -98,11 +99,12 @@ public void onCreate(Bundle savedInstanceState) {
9899
ButterKnife.bind(this);
99100

100101
// Check for mandatory permissions.
101-
for (String permission : MANDATORY_PERMISSIONS) {
102-
if (checkCallingOrSelfPermission(permission) != PackageManager.PERMISSION_GRANTED) {
103-
setResult(RESULT_CANCELED);
104-
finish();
105-
return;
102+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
103+
for (String permission : MANDATORY_PERMISSIONS) {
104+
if (checkCallingOrSelfPermission(permission) != PackageManager.PERMISSION_GRANTED) {
105+
requestPermissions(MANDATORY_PERMISSIONS, 100);
106+
break;
107+
}
106108
}
107109
}
108110

@@ -122,6 +124,17 @@ public void onCreate(Bundle savedInstanceState) {
122124
}
123125
}
124126

127+
@Override
128+
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
129+
for (int result : grantResults) {
130+
if (result != PackageManager.PERMISSION_GRANTED) {
131+
Toast.makeText(this, "需要录音和摄像头权限,才能进行语音通话", Toast.LENGTH_SHORT).show();
132+
finish();
133+
return;
134+
}
135+
}
136+
}
137+
125138
private AVEngineKit.CallSessionCallback currentCallback;
126139

127140
private void initFromFloatView() {

0 commit comments

Comments
 (0)