Unity Android 权限申请

2022-07-18  本文已影响0人  CERI_CHANNEL

检测是否同意权限

public boolean checkPermission(Context context, String permission) {
    if (context != null) {
        return ContextCompat.checkSelfPermission(context, permission) == 0;
    } else {
        Log.d(this.PERMISSONTAG, "check permission context is null");
        return true;
    }
}

申请权限

public interface PermissionCallback {
    void success();
    void error();
}

private boolean isMarshmallow() {
    return VERSION.SDK_INT >= 23;
}

public void requestPermission(Context context, String permission, int requestCode, PermissionCallback callback) {
    if (!this.isMarshmallow()) {
        Log.d(this.PERMISSONTAG, "Not Android 6.0 Above");
        callback.success();
    } else {
        this.requestPermissionCode = requestCode;
        this.newCallback = callback;
        this.requestPermission = permission;
        this.permissions = new String[]{permission};
        this.context = context;
        if (!this.checkPermission(context, permission)) {
            ActivityCompat.requestPermissions((Activity)context, this.permissions, requestCode);
        } else {
            this.newCallback.success();
        }

    }
}
上一篇 下一篇

猜你喜欢

热点阅读