Android清单中如何配置& lt; mate-data…在元素

  介绍

小编给大家分享一下安卓清单中如何配置& lt; mate-data…在元素,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

Android是什么

Android是一种基于Linux内核的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由美国谷歌公司和开放手机联盟领导及开发。

在AndroidManifest。xml清单文件中我们有时会看到如下类似的& lt;元数据……在元素开始的配置内容:

& lt;元数据   android: name=安拍躢om.google.android.maps.v2.API_KEY"   android: value=https://www.yisu.com/zixun/才能" AIzaSyBhBFOgVQclaa8p1JJeqaZHiCo2nfiyBBo "/>   <元数据   android: name=" com.google.android.gms.version "   android: value="/google_play_services_version "/>

标签& lt; meta-data>是提供组件额外的数据用的,它本身就是一个键值对,可以自定义名称和值。它可以包含在以下组件当中:

& lt; activity>, & lt; application>& lt; service>和& lt; receiver>

<强>一、如何配置& lt; mate-data…在元素:

标签& lt; meta-data>元素的配置语法如下:

& lt; meta-data  android: name=皊tring"   ,,android:资源=皉esource  specification"   ,,android: value=https://www.yisu.com/zixun/"字符串"/>

说明:一般的值可以通过价值属性来指定,但是如果要指定一个资源的id,则需要使用资源属性来配置。

如以下配置内容:

& lt;元数据android: name=癮pi_key"android: value=https://www.yisu.com/zixun/" @string/api_key "/>

指定的api_key值为存储在资源文件中字符串的api_key值如:

AIzaSyBhBFOgVQclaa8p1JJeqaZHiCo2nfiyBBo

如以下配置内容:

& lt;元数据android: name=皉esId"android:资源=癅string/res_id"/在

指定的渣油值则是为res_id的资源id号而不是字符串中的res_id值

<强>二,如何获取& lt; mate-data…在元素配置的值:

1,在& lt;应用程序…在元素下配置& lt; mate-data…在元素

xml代码段:

& lt;应用程序…比;   .....才能   ,& lt;元数据   ,,,,android: name=癮pi_key"   ,,,,android: value=https://www.yisu.com/zixun/" AIzaSyBhBFOgVQclaa8p1JJeqaZHiCo2nfiyBBo "/>   

Java代码段:

try  {   ,,,,,ApplicationInfo  appInfo =, getPackageManager () .getApplicationInfo (getPackageName (),   ,,,,,,,,,PackageManager.GET_META_DATA);   ,,,,,String  value =, appInfo.metaData.getString (“api_key");   ,,,,,Log.d (“Tag",,,, app  key ,:,“, +,值),,//,标签﹕,app  key : AIzaSyBhBFOgVQclaa8p1JJeqaZHiCo2nfiyBBo   ,,,},catch  (PackageManager.NameNotFoundException  e), {   ,,,,,e.printStackTrace ();   ,,,}

<强> 2,在& lt;活动……在元素下配置& lt; mate-data…在元素

xml代码段:

& lt; activity ……比;   .....才能   & lt;才能meta-data  android: name=皉esource_id"   ,,,,android:资源=癅string/ice",/比;   & lt;/activity>

Java代码段:

try  {   ,,,,,ActivityInfo  ActivityInfo =, getPackageManager () .getActivityInfo (getComponentName (),   ,,,,,,,,,PackageManager.GET_META_DATA);   ,,,,,//,获取到的是,@string/ice 对应的资源id值   ,,,,,int  value =, activityInfo.metaData.getInt (“resource_id");   ,,,,,Log.d (“Activity  Tag",,“resource_id ,:,“, +,值),,//,Activity 标签﹕,resource_id : 2131361808   ,,,},catch  (PackageManager.NameNotFoundException  e), {   ,,,,,e.printStackTrace ();   ,,,}

<强> 3,在& lt;服务……在元素下配置& lt; mate-data…在元素

xml代码段:

& lt; service  android: name=癕etaDataService"比;   .....。才能   ,,& lt; meta-data  android: name=皊ervice_meta_data", android:价值=https://www.yisu.com/zixun/" xxxxxxx "/>   

Java代码段:

try  {   ,,ComponentName  cn=new  ComponentName(这个,,MetaDataService.class);   ,,ServiceInfo 信息=this.getPackageManager ()   ,,,,,,,.getServiceInfo (cn, PackageManager.GET_META_DATA);   ,,String  value =, info.metaData.getString (“service_meta_data");   ,,Log.d (“Service  TAG",,,, value ==,,, +,值);   null   null   null   null   null   null   null   null   null   null   null   null   null   null

Android清单中如何配置& lt; mate-data…在元素