Я пытаюсь соединить 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.
Однако, несмотря на это, я получаю сообщение об ошибке:
Теперь, конечно, я абсолютно импортирую это выше:
import org.json.JSONArray;
Это моя Реакция Родная сторона вещей:
NativeModules.PayPalMobileRN.renderProfileSharingUI(["openid", "email", "address"]).then(
result => console.log(result)
)
Ничего сумасшедшего, простопередавая массив значений области видимости.
Что именно вызывает эта ошибка?