android app 三星s8 適配問題 和 meta-data 動態修改

廢話不多說,解決問題看鏈接:
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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章