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

案例代码

相关推荐
佛系打工仔12 小时前
绘制K线第二章:背景网格绘制
android·前端·架构
my_power52015 小时前
车载安卓面试题汇总
android
csj5015 小时前
安卓基础之《(15)—内容提供者(1)在应用之间共享数据》
android
yeziyfx16 小时前
kotlin中 ?:的用法
android·开发语言·kotlin
2501_9159184117 小时前
只有 Flutter IPA 文件,通过多工具组合完成有效混淆与保护
android·flutter·ios·小程序·uni-app·iphone·webview
robotx17 小时前
AOSP 设置-提示音和振动 添加一个带有开关(Switch)的设置项
android
青莲84317 小时前
RecyclerView 完全指南
android·前端·面试
青莲84317 小时前
Android WebView 混合开发完整指南
android·前端·面试
龙之叶18 小时前
【Android Monkey源码解析三】- 运行解析
android
KevinWang_19 小时前
Android 的 assets 资源和 raw 资源有什么区别?
android