Java 获取未知参数类:JSONArray

Java 获取未知参数类:JSONArray,java,android,react-native,Java,Android,React Native,我正在尝试将React Native连接到Android以调用SDK 我有一种适合自己的方法: @ReactMethod private void renderProfileSharingUI(ReadableArray args) throws JSONException { if (args.length() != 1) { this.errorCallback.invoke("renderProfileSharingUI scopes must be provide

我正在尝试将React Native连接到Android以调用SDK

我有一种适合自己的方法:

@ReactMethod
private void renderProfileSharingUI(ReadableArray args) throws JSONException {
    if (args.length() != 1) {
        this.errorCallback.invoke("renderProfileSharingUI scopes must be provided");
        return;
    }

    JSONArray jsonArgs = convertArrayToJson(args);

    Intent intent = new Intent(this.activity, PayPalProfileSharingActivity.class);
    // add codes
    intent.putExtra(PayPalProfileSharingActivity.EXTRA_REQUESTED_SCOPES, getOauthScopes(jsonArgs.getJSONArray(0)));
    startActivityForResult(this, intent, REQUEST_CODE_PROFILE_SHARING);
}

private static JSONArray convertArrayToJson(ReadableArray readableArray) throws JSONException {
    JSONArray array = new JSONArray();
    for (int i = 0; i < readableArray.size(); i++) {
        switch (readableArray.getType(i)) {
        case Null:
            break;
        case Boolean:
            array.put(readableArray.getBoolean(i));
            break;
        case Number:
            array.put(readableArray.getDouble(i));
            break;
        case String:
            array.put(readableArray.getString(i));
            break;
        case Map:
            array.put(convertMapToJson(readableArray.getMap(i)));
            break;
        case Array:
            array.put(convertArrayToJson(readableArray.getArray(i)));
            break;
        }
    }
    return array;
}
这是我的本来面目:

NativeModules.PayPalMobileRN.renderProfileSharingUI(["openid", "email", "address"]).then(
    result => console.log(result)
)
没什么疯狂的,只是传入一个范围值数组

这到底是怎么回事

NativeModules.PayPalMobileRN.renderProfileSharingUI(["openid", "email", "address"]).then(
    result => console.log(result)
)