小编给大家分享一下安卓清单中如何配置& 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 nullAndroid清单中如何配置& lt; mate-data…在元素