动态设置meta-data
时间: 2023-12-23 21:03:14 浏览: 153
动态设置 meta-data 需要在代码中使用 Java 或 Kotlin 编程语言,以下是一个示例:
// 获取当前应用的 meta-data
ApplicationInfo appInfo = getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);
Bundle bundle = appInfo.metaData;
// 设置新的 meta-data
bundle.putString("new_key", "new_value");
// 将新的 meta-data 更新到应用的 AndroidManifest.xml 文件中
ComponentName componentName = new ComponentName(this, MainActivity.class);
ActivityInfo activityInfo = getPackageManager().getActivityInfo(componentName, PackageManager.GET_META_DATA);
activityInfo.metaData = bundle;
getPackageManager().setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
getPackageManager().setActivityInfo(componentName, activityInfo, PackageManager.GET_META_DATA);
注意:动态设置 meta-data 需要在应用运行时才能生效,如果在应用构建时设置 meta-data,则需要在 AndroidManifest.xml 文件中进行设置。
阅读全文