同类型参考链接:
1,AndroidManifest中meta-data动态修改的问题_今人不见古时月,今月曾经照古人的博客-CSDN博客
2,AndroidManifest.xml中的meta-data标签、gradle中的manifestPlaceholder的应用_今人不见古时月,今月曾经照古人的博客-CSDN博客
- 解决问题:代码动态修改Manifest.xml 中 meta-data 的配置数据。例如:高德key
- 代码
private void initFMMap() {
ApplicationInfo appInfo = null;
try {
appInfo = this.getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
String msg = appInfo.metaData.getString("com.fengmap.mapapi.appkey");
Log.e(TAG, "before: " + msg);
appInfo.metaData.putString("com.fengmap.mapapi.appkey", "b22ac5888df02143841ce28817f41942aaa");
msg = appInfo.metaData.getString("com.fengmap.mapapi.appkey");
Log.e(TAG, "after: " + msg);
}
- 结果
注意:
该修改方式只会针对同一个类文件,如果更换类文件再次读取mete-date时,数据将会恢复成Manifest.xml中配置的数据。
转载于:https://www.cnblogs.com/coderwjq/p/7132485.html