Skip to content

Commit f0b4513

Browse files
committed
[Android]fix permission request bug
1 parent 611c08a commit f0b4513

1 file changed

Lines changed: 15 additions & 9 deletions

File tree

Android/APIExample/app/src/main/java/io/agora/api/example/examples/basic/JoinChannelVideo.java

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import static io.agora.rtc2.video.VideoEncoderConfiguration.STANDARD_BITRATE;
66

77
import android.Manifest;
8+
import android.annotation.SuppressLint;
89
import android.content.Context;
910
import android.os.Build;
1011
import android.os.Bundle;
@@ -24,6 +25,8 @@
2425
import com.yanzhenjie.permission.AndPermission;
2526
import com.yanzhenjie.permission.runtime.Permission;
2627

28+
import java.util.ArrayList;
29+
import java.util.List;
2730
import java.util.Map;
2831
import java.util.concurrent.ConcurrentHashMap;
2932

@@ -140,6 +143,7 @@ public void onDestroy()
140143
engine = null;
141144
}
142145

146+
@SuppressLint("WrongConstant")
143147
@Override
144148
public void onClick(View v)
145149
{
@@ -151,24 +155,26 @@ public void onClick(View v)
151155
// call when join button hit
152156
String channelId = et_channel.getText().toString();
153157
// Check permission
154-
String[] BLUETOOTH_PERMS = new String[0];
158+
List<String> permissionList = new ArrayList<>();
159+
permissionList.add(Permission.READ_EXTERNAL_STORAGE);
160+
permissionList.add(Permission.WRITE_EXTERNAL_STORAGE);
161+
permissionList.add(Permission.RECORD_AUDIO);
162+
permissionList.add(Permission.CAMERA);
155163
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.S){
156-
BLUETOOTH_PERMS = new String[]{Manifest.permission.BLUETOOTH_CONNECT};
164+
permissionList.add(Manifest.permission.BLUETOOTH_CONNECT);
157165
}
158166

159-
if (AndPermission.hasPermissions(this,
160-
BLUETOOTH_PERMS,
161-
Permission.Group.STORAGE, Permission.Group.MICROPHONE, Permission.Group.CAMERA))
167+
String[] permissionArray = new String[permissionList.size()];
168+
permissionList.toArray(permissionArray);
169+
170+
if (AndPermission.hasPermissions(this,permissionArray))
162171
{
163172
joinChannel(channelId);
164173
return;
165174
}
166175
// Request permission
167176
AndPermission.with(this).runtime().permission(
168-
BLUETOOTH_PERMS,
169-
Permission.Group.STORAGE,
170-
Permission.Group.MICROPHONE,
171-
Permission.Group.CAMERA
177+
permissionArray
172178
).onGranted(permissions ->
173179
{
174180
// Permissions Granted

0 commit comments

Comments
 (0)