代码
PermissionHelper.onCameraPermissionGranted(this) { grant ->
ClassRoomManager.setUserCamera(ClassRoomManager.myUserId, grant) { errorCode ->
ToastUtils.showCenterToast(getPublicMsgFromCode(errorCode, this))
}
PermissionHelper.onAudioPermissionGranted(this) { grant ->
ClassRoomManager.setUserMic(ClassRoomManager.myUserId, grant) { errorCode ->
ToastUtils.showCenterToast(getPublicMsgFromCode(errorCode, this))
}
}
}
就是上面这段代码看着我头大,因为点进去该方法是有两个参数(java)猜对:
public static void onCameraPermissionGranted(FragmentActivity activity, GrantResult grantResult) {
onPermissionGranted(activity, "android.permission.CAMERA", grantResult);
}
public interface GrantResult {
void onGrantResult(boolean allGranted);
}
实际上是kt代码中grand
就是java 中onGrantResult
中all Granded
的回调布尔值。
这就清晰了。从这里就可以看出如果不太习惯lambda的语法,很容易头大。
所以推荐大家在使用的留神——毕竟我最近的项目全是java写的,突然一转有点没刹住车。【囧】