ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

如何理解Android中的meta-data标签

2022-02-20 21:05:15  阅读:208  来源: 互联网

标签:resId 21 value 14238 meta Android PackageManager data


是什么?

提供组件额外的数据,它本身就是一个键值对,可以自定义名称和值。

用在哪些位置?

    <activity>
    <activity-alias>
    <application>
    <provider>
    <receiver>
    <service> 

怎么用?

  1. 配置好信息
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.fedming.notches">

    <application
        ...
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <meta-data
                android:name="meta_act"
                android:resource="@string/app_name" />
        </activity>
        <meta-data
            android:name="meta_app"
            android:value="value from meta_app" />
    </application>

</manifest>
  1. 代码获取配置信息
//获取value
private String getMetaDataFromApp() {
    String value = "";
    try {
        ApplicationInfo appInfo = getPackageManager().getApplicationInfo(getPackageName(),
                PackageManager.GET_META_DATA);
        value = appInfo.metaData.getString("meta_app");
    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    }
    return value;
}
//获取resource id
private int getMetaDataIdFromAct() {
    int resId= 0;
    try {
        ActivityInfo activityInfo = getPackageManager().getActivityInfo(getComponentName(),
                PackageManager.GET_META_DATA);
        resId= activityInfo.metaData.getInt("meta_act");
    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    }
    return resId;
}
  1. 查看结果
06-09 21:21:04.624 14238-14238/com.fedming.notches D/fdm:  meta_app : value from meta_app
06-09 21:21:04.625 14238-14238/com.fedming.notches D/fdm:  meta_act_id : 2131427357, meta_act_string : Notches

什么时候用

接入第三方SDK的鉴权,以及系统属性配置:比如配置屏幕支持比例,配置SearchableActivity

参考文档
主要参考这位大佬的文章
参考2
官方文档

标签:resId,21,value,14238,meta,Android,PackageManager,data
来源: https://blog.csdn.net/weixin_45959314/article/details/123035594

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有