Android——metaData

获取元数据信息的步骤:
  • 调用 getPackageManager 方法获得当前应用的包管理器
  • 调用包管理器的 getActivityInfo 方法获得当前活动的信息对象
  • 活动信息对象的 metaData 是 Bundle 包裹类型,调用包裹对象的 getString 即可获得指定名称的参数值

配置 metaData

xml 复制代码
	<meta-data android:name="weather" android:value="晴天"/>
xml 复制代码
   <activity
         android:name=".MetaDataActivity"
         android:exported="true">
         <meta-data android:name="weather" android:value="晴天"/>
     </activity>

获取metaData

java 复制代码
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_meta_data);

        TextView tv_meta = findViewById(R.id.tv_meta);
        //获取应用包管理
        PackageManager packageManager = getPackageManager();

        try {
            //从应用包管理器中获取当前的活动信息
            ActivityInfo info = packageManager.getActivityInfo(getComponentName(), PackageManager.GET_META_DATA);
            //获取活动附加的元数据信息
            Bundle bundle = info.metaData;
            String weather = bundle.getString("weather");
            tv_meta.setText(weather);
        } catch (PackageManager.NameNotFoundException e) {
            throw new RuntimeException(e);
        }
    }

案例代码

相关推荐
萝卜大战僵尸19 分钟前
Android Studio_lx
android·ide·android studio
花花鱼21 分钟前
Android studio CMake4.1 找不到了的解决
android·ide·android studio
知行合一。。。7 小时前
Python--05--面向对象(属性,方法)
android·开发语言·python
leobertlan7 小时前
好玩系列:用20元实现快乐保存器
android·人工智能·算法
代龙涛10 小时前
WordPress single.php 文章模板开发详解
android
YF021112 小时前
Flutter 编译卡顿解决方案
android·flutter·ios
空中海13 小时前
第十二章:安卓实战架构与最佳实践
android·架构
angerdream14 小时前
Android手把手编写儿童手机远程监控App之四大组件详解2
android
kerli14 小时前
基于 kmp/cmp 的跨平台图片加载方案 - 适配 Android View/Compose/ios
android·前端·ios