Как динамически добавлять метаданные (не в манифесте, а внутри кода)?

Я хочу установить метаданные приложения, используя код. Возможно ли это в Android? Попытка установить идентификатор приложения Facebook в код, не входящий в манифест.

meta-data android:name="com.facebook.sdk.ApplicationId"android:value="@string/applicationId" 

Пожалуйста, помогите мне.

3 ответа

Решение

Эта ссылка показывает, как добавить идентификатор приложения для Facebook: ДОБАВИТЬ ДИНАМИЧНО ID приложения Facebook

Я хочу установить метаданные приложения с помощью кода. Возможно ли это в Android?

Нет, это невозможно. Манифест get анализируется во время компиляции -> вы не можете добавлять метаданные во время выполнения.

Для динамического добавления любых метаданных вы можете использовать этот код:

try {
            ApplicationInfo applicationInfo = getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);
            applicationInfo.metaData.putString("Your Key", "Your Value");
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }

Привет всем, что я знаю выше, ответ подходит для старой версии SDK, но в

facebook sdk 4+

нет сессионного класса

Вы можете просто сделать это, используя этот однострочный код:

FacebookSdk.setApplicationId(APP_ID);

Спасибо!

Другие вопросы по тегам