廢話不多說,解決問題看鏈接:
http://www.jianshu.com/p/defcf4f29a12
看完上面的鏈接內容,你是否想,怎麼動態改變meta-data值呢,你說直接在AndroidManifest寫死,會不會對其他手機有影響呢?說實話,試了下好像沒什麼影響。但我們還是來看看怎麼動態修改meta-data的值(因爲我們可以動態獲取手機型號(android.os.Build.MODEL),若是三星s8,我們就可以動態改變meta-data的值)。
那,怎麼動態修改meta-data的值呢?
ApplicationInfo applicationInfo = null;
try {
applicationInfo = getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
if(applicationInfo == null){
throw new IllegalArgumentException(" get application info = null, has no meta data! ");
}
System.out.println("============="+applicationInfo.metaData.getString("android.max_aspect"));
applicationInfo.metaData.putString("android.max_aspect", "2.1");
System.out.println("============="+applicationInfo.metaData.getString("android.max_aspect"))
//那 “android.max_aspect” 是什麼呢?
<meta-data
android:name="android.max_aspect"
android:value="xxxxxx"></meta-data>