当前位置:   article > 正文

[AS3.0.1]meta-data和manifestPlaceholders的使用_manifestplaceholders meta

manifestplaceholders meta

一篇关于meta-data的转载记录


  • ##application下
<application ... >
    <meta-data android:name="TEST_KEY" android:value="${test_key}"/>
</application>
  • 1
  • 2
  • 3
        try {
            ApplicationInfo info = getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);
            Log.e("info", info.metaData.getString("TEST_KEY"));
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

  • ##activity下
<activity ... >
    <meta-data android:name="TEST_KEY" android:value="${test_key}"/>
</activity>
  • 1
  • 2
  • 3
        try {
            ActivityInfo info = getPackageManager().getActivityInfo(getComponentName(), PackageManager.GET_META_DATA);
            Log.e("info", info.metaData.getString("TEST_KEY"));
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

  • ##service下
<service ... >
    <meta-data android:name="TEST_KEY" android:value="${test_key}"/>
</service>
  • 1
  • 2
  • 3
        try {
            ServiceInfo info = getPackageManager().getServiceInfo(getComponentName(), PackageManager.GET_META_DATA);
            Log.e("info", info.metaData.getString("TEST_KEY"));
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

  • ##receiver下
<receiver ... >
    <meta-data android:name="TEST_KEY" android:value="${test_key}"/>
</receiver>
  • 1
  • 2
  • 3
        try {
            ActivityInfo info = getPackageManager().getReceiverInfo(getComponentName(), PackageManager.GET_META_DATA);
            Log.e("info", info.metaData.getString("TEST_KEY"));
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

manifestPlaceholders使用

在build.gradle的多版本中设置

            manifestPlaceholders = ["test_key": "修改的内容"]
  • 1

好比如下

    productFlavors{
        dev{
            manifestPlaceholders = ["test_key": "测试版key"]
        }
        free{
            applicationIdSuffix ".free"
            manifestPlaceholders = ["test_key": "Free版key"]
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

效果如下
测试

Free


资料

[Android获取Manifest中元素的值](http://blog.csdn.net/xx326664162/article/details/50727941)

[使用 gradle 在编译时动态设置 Android resValue / BuildConfig / Manifes中变量的值](http://blog.csdn.net/xx326664162/article/details/49247815)

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号