2626import android .view .WindowManager .LayoutParams ;
2727import android .widget .Toast ;
2828
29+ import androidx .annotation .NonNull ;
2930import androidx .fragment .app .Fragment ;
3031import androidx .fragment .app .FragmentActivity ;
3132import 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