得到了未知的参数类:JSONArray

时间:2019-09-25 20:48:57

标签: 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 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;
}

最初,该方法需要JSONArray。 React Native传递了一个ReadableArray,然后我使用该函数将其转换为JSONArray。

但是,尽管如此,我还是得到了错误:

Got unknown argument class: JSONArray

现在,当然,我绝对要在上面导入此内容:

import org.json.JSONArray;

这是我的React Native方面:

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

没什么疯狂的,只是传递了一个范围值数组。

此打on到底是什么?

0 个答案:

没有答案