`
z303729470
  • 浏览: 134076 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android 读取<meta-data>元素的数据

 
阅读更多
在AndroidManifest.xml中,<meta-data>元素可以作为子元素,被包含在<activity>、<application> 、<service>和<receiver>元素中,但
不同的父元素,在应用时读取的方法也不同。

1 :在Activity的应用。
    xml代码段:
   <activity...>
       <meta-data android:name="myMsg" android:value="hello my activity"></meta-data>
    </activity>
   
    java代码段:
   ActivityInfo info=this.getPackageManager()
                          .getActivityInfo(getComponentName(),
                          PackageManager.GET_META_DATA);
    String msg=info.metaData.getString("myMsg");
    System.out.println("myMsg:"+msg);

2:在application的应用。
   xml代码段:
  <application...>
       <meta-data android:value="hello my application" android:name="myMsg"></meta-data>
   </application>
  
   java代码段:
    ApplicationInfo appInfo = this.getPackageManager()
                                  .getApplicationInfo(getPackageName(),
                          PackageManager.GET_META_DATA);
    String msg=appInfo.metaData.getString("myMsg");
    System.out.println("myMsg:"+msg);

3:在service的应用。
   xml代码段:
   <service android:name="MetaDataService">
      <meta-data android:value="hello my service" android:name="myMsg"></meta-data>
   </service>

   java代码段:
   ComponentName cn=new ComponentName(this, MetaDataService.class);
   ServiceInfo info=this.getPackageManager()
                        .getServiceInfo(cn, PackageManager.GET_META_DATA);
    String msg=info.metaData.getString("myMsg");
    System.out.println("myMsg:"+msg);

4: 在receiver的应用。
   xml代码段:
    <receiver android:name="MetaDataReceiver">
            <meta-data android:value="hello my receiver" android:name="myMsg"></meta-data>
            <intent-filter>
                <action android:name="android.intent.action.PHONE_STATE"></action>
            </intent-filter>
    </receiver>
   java代码段:
    ComponentName cn=new ComponentName(context, MetaDataReceiver.class);
    ActivityInfo info=context.getPackageManager()
                             .getReceiverInfo(cn, PackageManager.GET_META_DATA);
    String msg=info.metaData.getString("myMsg");
    System.out.println("myMsg:"+msg);

以上例子在android2.1运行通过


分享到:
评论

相关推荐

    meta-data标签的使用

    `meta-data`标签位于AndroidManifest.xml的`&lt;application&gt;`或`&lt;activity&gt;`, `&lt;service&gt;`, `&lt;receiver&gt;`或`&lt;provider&gt;`等组件内。其基本结构如下: ```xml &lt;manifest&gt; ... &lt;application&gt; ... &lt;meta-data ...

    Bilibili接入详细说明

    3. **添加meta-data**:在`&lt;application&gt;`标签内添加一系列`&lt;meta-data&gt;`标签,用于传递必要的接入参数。这些参数包括`appid`、`cpid`、`channel_appid`、`channel_cpid`、`channel_appkey`以及屏幕方向(横屏或竖屏...

    Android实现获取meta-data和build.gradle的值

    Android 应用程序中,meta-data 和 build.gradle 文件中的值经常被用来存储和读取各种配置信息,例如渠道号、应用程序密钥等。在本文中,我们将介绍如何在 Android 应用程序中获取 meta-data 和 build.gradle 文件中...

    AndroidManifest.xml文件综合详解[整理].pdf

    - **API兼容性**:通过&lt;uses-sdk&gt;元素指定应用兼容的最低Android版本。 - **Library引用**:列出应用需要链接的库文件。 - **Instrumentation**:在开发和测试阶段,声明用于测试应用的代码。 3. **主要结构及...

    Android获取清单文件中的meta-data,解决碰到数值为null的问题

    Android获取清单文件中的meta-data是Android应用程序中一种常用的技术,用于在应用程序中存储和读取配置信息。然而,在获取meta-data时,经常会遇到数值为null的问题,本文将详细介绍Android获取清单文件中的meta-...

    2AndroidManifest文件介绍.docx

    &lt;meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths"/&gt; &lt;/provider&gt; ``` - **`android:name`**:内容提供者的类名。 - **`android:authorities`**:提供者的...

    BuildingAccessibilityServices

    &lt;meta-data android:name="android.accessibilityservice" android:resource="@xml/accessibility_service_config" /&gt; &lt;/service&gt; ``` 这里,`accessibility_service_config`是一个XML资源文件,用于定义服务的...

    Java读取android apk信息

    此外,依赖库的获取可能涉及到解析`&lt;uses-library&gt;`标签,或者通过分析`&lt;application&gt;`标签内的`&lt;meta-data&gt;`元素来确定。 总结来说,纯Java读取Android APK信息涉及到的知识点包括: - Java ZIP文件操作:`java....

    统计打包需要配置的地方1

    &lt;meta-data android:value="androidmarket" android:name="UMENG_CHANNEL"/&gt; ``` 最后,我们需要在项目的`feature.properties`和`services.properties`文件中添加统计相关的实现类。这两个文件通常属于应用框架或者...

    Android 使用手机NFC的读取NFC标签数据的方法

    &lt;intent-filter&gt; &lt;action android:name="android.nfc.action.TECH_DISCOVERED" /&gt; &lt;/intent-filter&gt; &lt;meta-data android:name="android.nfc.action.TECH_DISCOVERED" android:resource="@xml/nfc_tech_filter" /&gt;.....

    多渠道批量打包方式之一(适用于需将渠道号写入meta中的)

    3. **设置渠道元数据**:在你的`AndroidManifest.xml`文件中,添加一个`&lt;meta-data&gt;`标签,指定渠道号的键值对。例如: ```xml &lt;meta-data android:name="渠道号" android:value="${channel}" /&gt; ``` 其中`${...

    android 实时监听读取微信最新消息

    &lt;meta-data android:name="android.accessibilityservice" android:package="com.tencent.mm" /&gt; &lt;/intent-filter&gt; &lt;/service&gt; ``` 然后,在 AccessibilityService 类中重写 onAccessibilityEvent 方法,此方法...

    android nfc中MifareClassic格式的读取和写入

    &lt;meta-data android:name="android.nfc.tech" android:value="android.nfc.tech.MifareClassic" /&gt; ``` 然后,在你的Activity中,你需要实现NFC的读取和写入功能。首先,创建一个NFC标签的监听器: ```java public ...

    ZipResourceFile

    1. **在AndroidManifest.xml中声明附加包**:添加`&lt;meta-data&gt;`标签,指定主扩展包或次要扩展包的文件名和版本。 ```xml &lt;manifest&gt; ... &lt;application&gt; ... &lt;meta-data android:name=...

    android 桌面组件 App widget的使用 AppWidgetProvider

    其中,`&lt;meta-data&gt;` 标签引用了一个 XML 资源文件(通常命名为 `app_widget_info.xml`),用于描述 App Widget 的具体信息。 **app_widget_info.xml** 这个文件定义了 App Widget 的大小、最小尺寸、初始布局等...

    Mac下apk渠道检测工具

    在AndroidManifest.xml中,渠道号通常作为`&lt;meta-data&gt;`标签的属性存在,与`android:name`和`android:value`相关联。例如: ```xml &lt;meta-data android:name="渠道号" android:value="channel_name" /&gt; ``` - ...

    Android U盘插拔监听以及U盘写入权限解决办法

    &lt;meta-data android:name="android.hardware.usb.device.class" android:value="02" /&gt; &lt;!-- 02代表存储设备 --&gt; &lt;/receiver&gt; &lt;uses-feature android:name="android.hardware.usb.host" /&gt; &lt;uses-permission ...

    Java解析APK, AXMLPrinter2.jar

    &lt;meta-data android:name="com.example.app.versionCode" android:value="123" /&gt; &lt;meta-data android:name="com.example.app.versionName" android:value="1.2.3" /&gt; &lt;/application&gt; &lt;/manifest&gt; ``` 要使用...

Global site tag (gtag.js) - Google Analytics