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);
        }
    }

案例代码

相关推荐
XiaoLeisj8 小时前
Kotlin Flow:冷流收集、并行订阅、emit 推送、delay 延迟、collect 全量收集与 collectLatest 的实时数据处理
android·kotlin·android jetpack·协程·flow
Android-Flutter9 小时前
android jetpack 详解
android·kotlin
三8449 小时前
文件上传基础
android
天空之城--10 小时前
Android Flutter行业最新动态与实用参考(2026年8月第2周)
android·flutter
三少爷的鞋10 小时前
预防远大于治理:Android 架构指南
android
恋猫de小郭10 小时前
Flutter 3.47 发布,快来看看有什么更新吧
android·前端·flutter
2501_9378609412 小时前
MySQL表的操作:创建、查看、修改、删除完整实战
android·数据库·mysql
我就是妖怪1 天前
KMP全栈开发:从Android到AI Agent的技术演进与实践
android·人工智能
心平气和量大福大1 天前
android-实例-蒲公英-更新与安装-5-签名与生成APK
android·java·开发语言