Получил неизвестный аргумент класса: JSONArray - PullRequest
0 голосов
/ 25 сентября 2019

Я пытаюсь соединить 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;

Это моя Реакция Родная сторона вещей:

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

Ничего сумасшедшего, простопередавая массив значений области видимости.

Что именно вызывает эта ошибка?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...