Android Manifest <meta-data>
- <!-- appid -->
- <meta-data
- android:name="APP_ID"
- android:value="037810BCE1D2260F32017643AC7D980C" />
- <!-- 发布渠道(可选) -->
- <meta-data
- android:name="APP_CHANNEL"
- android:value="QQ_CENTER" />
标签<meta-data>是提供组件额外的数据用的,它本身就是一个键值对,可以自定义名称和值。它可以包含在以下组件当中:
- <?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.wwj.metadata"
- android:versionCode="1"
- android:versionName="1.0" >
- <uses-sdk
- android:minSdkVersion="8"
- android:targetSdkVersion="18" />
- <application
- android:allowBackup="true"
- android:icon="@drawable/ic_launcher"
- android:label="@string/app_name"
- android:theme="@style/AppTheme" >
- <activity
- android:name="com.wwj.metadata.MainActivity"
- android:label="@string/app_name" >
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- <!-- 在Activity定义的meta-data -->
- <meta-data
- android:name="myMsg"
- android:value="hello my activity" >
- </meta-data>
- </activity>
- <!-- 在Application定义的meta-data -->
- <meta-data
- android:name="myMsg"
- android:value="hello my application" >
- </meta-data>
- </application>
- </manifest>
- package com.wwj.metadata;
- import android.app.Activity;
- import android.content.pm.ActivityInfo;
- import android.content.pm.PackageManager;
- import android.content.pm.PackageManager.NameNotFoundException;
- import android.os.Bundle;
- public class MainActivity extends Activity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- //在Activity的应用
- try {
- ActivityInfo info = this.getPackageManager().getActivityInfo(
- getComponentName(), PackageManager.GET_META_DATA);
- String msg = info.metaData.getString("myMsg");
- System.out.println("myMsg:" + msg);
- } catch (NameNotFoundException e) {
- e.printStackTrace();
- }
- }
- /* 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);*/
- }
转自:http://blog.csdn.net/wwj_748/article/details/25079991
Android Manifest <meta-data>的更多相关文章
- Android manifest之manifest标签详细介绍
AndroidManifest详细介绍 本文主要对AndroidManifest.xml文件中各个标签进行说明.索引如下: 概要PART--01 manifest标签PART--02 安全机制和per ...
- Android manifest之系统自带的permission
Android manifest之系统自带的permission 本文描述Android系统自带的permission.点击查看:“关于permission的原始定义和说明”.点击查看:“Androi ...
- Android Manifest.xml文件的结构及作用
原文链接:http://android.eoe.cn/topic/android_sdk 每一个应用程序在工程的根目录下必须要有一个AndroidManifest.xml文件(一定要用这个名称).这个 ...
- Android manifest文件中的标签详细介绍
官方文档 概要 每一个Android应用都应该包含一个manifest文件,即AndroidManifest.xml.它包含了程序运行的一些必备信息,比如:--为Java应用程序指定一个独一无二的名字 ...
- 【记】研究Sharding-JDBC遇到的一个异常(Caused by: io.shardingsphere.core.exception.ShardingException: Cannot get uniformed table structure for `t`. The different meta data of actual tables are as follows)
一.异常信息 Caused by: io.shardingsphere.core.exception.ShardingException: Cannot get uniformed table str ...
- Android manifest 获取源代码
/********************************************************************************* * Android manifes ...
- Android API之android.provider.ContactsContract.Data
android.provider.ContactsContract.Data Constants for the data table, which contains data points tied ...
- android Manifest.xml选项
结构 继承关系 public final class Manifest extends Object java.lang.Object android.Manifest 内部类 class Mani ...
- Viewpager+Fragment 跳转Activity报错android.os.TransactionTooLargeException: data parcel size xxxxx bytes
Viewpager + Fragment 跳转Activity报错android.os.TransactionTooLargeException: data parcel size xxxxx byt ...
- Android Manifest.xml详解
一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activiti ...
随机推荐
- Javascript中类型的判断
数据类型的判断有这么几种方式 1.一元运算符 typeOf 2.关系运算符 instanceof 3.constructor 属性 4.prototype属性 一.typeof typeof的返回值有 ...
- java实现https ssl请求url
import java.io.*;import java.net.*;import java.security.*;import java.security.cert.*;import java.ut ...
- Fedora23 chrome 安装
添加FZUG源终端:进入到root1.下载google-chrome.repo并保存$wget http://repo.fdzh.org/chrome/google-chrome-mirrors.re ...
- Vue.js 综合
<!DOCTYPE HTML> <html> <head> <title>vue.js 处理用户输入</title> <script ...
- Android启动过程深入解析
本文由 伯乐在线 - 云海之巅 翻译.未经许可,禁止转载!英文出处:kpbird.欢迎加入翻译小组. 当按下Android设备电源键时究竟发生了什么? Android的启动过程是怎么样的? 什么是Li ...
- 【MAVEN】如何在Eclipse中创建MAVEN项目
目录结构: contents structure [+] 1,Maven简介 2,Maven安装 2.1,下载Maven 2.2,配置环境变量 2.3,测试 3,Maven仓库 3.1,Maven仓库 ...
- 【Oracle】Oracle中常用的系统函数
Oracle SQL 提供了用于执行特定操作的专用函数.这些函数大大增强了 SQL 语言的功能.函数可以接受零个或者多个输入参数,并返回一个输出结果.在Oracle还可以自定义函数,关于更多信息可以查 ...
- Git 分支(分布式版本控制系统)
前言 几乎所有的版本控制系统都以某种形式支持分支.使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线.在很多版本控制系统中,这是一个略微低效的过程--常常需要完全创建一个源代码目录的 ...
- git使一个非仓库型的工程可以推送
git config receive.denycurrentbranch false
- Groovy 学习手册(7)
10. Groovy GPars GPars 一开始在 Groovy 中作为一个单独的项目,同时带来了很多并发的机制.它包含了很多并行的map/redue,Actors,以及其他很多并发的模块. 1. ...