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

案例代码

相关推荐
bisal(Chen Liu)5 分钟前
0.5 hour还是0.5 hours?
android
特立独行的猫a27 分钟前
Kuikly多端框架(KMP)实战:现代Android/KMP状态管理指南:基于StateFlow与UDF架构的实践
android·架构·harmonyos·状态管理·kmp·stateflow·kuikly
范桂飓2 小时前
Google 提示词工程最佳实践白皮书解读
android·人工智能
贤泽2 小时前
Android 15 Service 源码解析
android
吴声子夜歌3 小时前
RxJava——并行编程
android·echarts·rxjava
小飞学编程...4 小时前
【Java相关八股文(二)】
android·java·开发语言
FunW1n4 小时前
Android Studio与Hook模块开发相关问题及实现方案梳理
android·ide·android studio
技术传感器5 小时前
解剖“数字孪生“:语义层定义世界,动力层驱动世界
android·运维·服务器
lxysbly5 小时前
n64模拟器安卓版官网
android
奔跑吧 android6 小时前
【车载Audio】【AudioHal 03】【深入解析 Android 音频策略:onNewAudioModulesAvailableInt 的全链路探索】
android·aosp15·音频策略·audiohal·车载audio