Как получить доступ к строкам ресурсов Android из плагина Flutter - PullRequest
0 голосов
/ 30 мая 2019

Я создаю плагин для Flutter и хочу получить доступ к строкам ресурсов приложения Android из плагина.

Я пытаюсь использовать:

@Override
    public void onMethodCall(MethodCall call, Result result) {
        switch (call.method) {
            case "example":
                String value = context.getString(R.string.name);
                result.success(value);
                break;
            default:
                result.notImplemented();
                break;
        }
    }

Но R.string указывает на ресурсы плагина, а не ресурсы приложения.

Привет

1 Ответ

1 голос
/ 30 мая 2019

ОК, я нашел решение. Я получил эту функцию от Auth0 Android-репо

Таким образом, чтобы получить ресурсы приложения от плагина, они используют эту функцию

private static String getResourceFromContext(@NonNull Context context, String resName) {
        final int stringRes = context.getResources().getIdentifier(resName, "string", context.getPackageName());
        if (stringRes == 0) {
            throw new IllegalArgumentException(String.format("The 'R.string.%s' value it's not defined in your project's resources file.", resName));
        }
        return context.getString(stringRes);
    }
...