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

案例代码

相关推荐
DengDongQi7 分钟前
Android Compose 应用中实现全局Dialog管理器的设计与实践
android
容华谢后10 分钟前
Android消息推送 MQTT方案实践
android
_李小白36 分钟前
【Android 美颜相机】第十五天:GPUImage3x3TextureSamplingFilter 解析
android·数码相机
Whisper_Sy43 分钟前
Flutter for OpenHarmony移动数据使用监管助手App实战 - 月报告实现
android·开发语言·javascript·网络·flutter·ecmascript
天才少年曾牛1 小时前
Android 怎么写一个AIDL接口?
android
冬奇Lab1 小时前
【Kotlin系列14】编译器插件与注解处理器开发:在编译期操控Kotlin
android·开发语言·kotlin·状态模式
橘子131 小时前
MySQL表的约束(五)
android·mysql·adb
2501_915918412 小时前
Wireshark、Fiddler、Charles抓包工具详细使用指南
android·ios·小程序·https·uni-app·iphone·webview
aaa最北边2 小时前
进程间通信-1.管道通信
android·java·服务器
灰灰勇闯IT2 小时前
【Flutter for OpenHarmony--Dart 入门日记】第3篇:基础数据类型全解析——String、数字与布尔值
android·java·开发语言