日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

android 读取manifest的数据

發(fā)布時(shí)間:2024/4/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 读取manifest的数据 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

? 今天,是實(shí)在不知道該寫點(diǎn)什么,但是還是想保持寫博客的習(xí)慣,所以在網(wǎng)上找了找資料,于是寫了這篇博客。內(nèi)容很簡(jiǎn)單,大家如果有興趣,可以自己在網(wǎng)上搜索相關(guān)的資料。


在AndroidManifest.xml清單文件中 我們有時(shí)會(huì)看到如下類似的<meta-data ... >元素開始的配置內(nèi)容:

<meta-dataandroid:name="com.google.android.maps.v2.API_KEY"android:value="AIzaSyBhBFOgVQclaa8p1JJeqaZHiCo2nfiyBBo" /> <meta-dataandroid:name="com.google.android.gms.version"android:value="@integer/google_play_services_version" />


標(biāo)簽<meta-data>是提供組件額外的數(shù)據(jù)用的,它本身就是一個(gè)鍵值對(duì),可以自定義名稱和值。它可以包含在以下組件當(dāng)中:
<activity>、<application> 、<service> 和 <receiver>

一、如何配置<mate-data...>元素:

標(biāo)簽<meta-data>元素的配置語(yǔ)法如下:

<meta-data android:name="string"android:resource="resource specification"android:value="string" />


說明:一般的值可以通過value屬性來指定,但是如果要指定一個(gè)資源的id,則需要使用resource屬性來配置。

<meta-data android:name="api_key" android:value="@string/api_key" />


二、如何獲取<mate-data...>元素配置的值

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.metadatatest"android:versionCode="1"android:versionName="1.0" ><uses-sdkandroid:minSdkVersion="8"android:targetSdkVersion="8" /><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ><meta-data android:name="mTag" android:value="@string/meta_application"></meta-data><activityandroid:name="com.example.metadatatest.MainActivity"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter><!-- 一般的值可以通過value屬性來指定,但是如果要指定一個(gè)資源id作為一個(gè)值,那么就要用resource屬性來代替。 --><meta-data android:name="mTag" android:value="@string/meta_activity"></meta-data><!--利用resource屬性將指定 mResource 的資源id號(hào)--><meta-data android:name="mResource" android:resource="@drawable/ic_launcher"></meta-data></activity><service android:name="com.example.metadatatest.service.DemoService"><meta-data android:name="mTag" android:value="@string/meta_service"></meta-data></service><receiver android:name="com.example.metadatatest.receiver.DemoReceiver"><intent-filter android:priority="1000"><action android:name="android.intent.action.BOOT_COMPLETED"/></intent-filter><meta-data android:name="mTag" android:value="@string/meta_broadcast"></meta-data></receiver></application></manifest>


在activity里獲取manifest的mata元素的值


package com.example.metadatatest;import com.example.metadatatest.receiver.DemoReceiver; import com.example.metadatatest.service.DemoService; import android.app.Activity; import android.content.ComponentName; import android.content.pm.ActivityInfo; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.ServiceInfo; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageView;public class MainActivity extends Activity implements OnClickListener {private static final String TAG = MainActivity.class.getSimpleName();private ImageView iv_pic;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);findView();}private void findView() {Button bt_read_activity = (Button) findViewById(R.id.bt_read_activity);Button bt_read_service = (Button) findViewById(R.id.bt_read_service);Button bt_read_broadcast = (Button) findViewById(R.id.bt_read_broadcast);Button bt_read_application = (Button) findViewById(R.id.bt_read_application);iv_pic = (ImageView) findViewById(R.id.iv_pic);bt_read_activity.setOnClickListener(this);bt_read_service.setOnClickListener(this);bt_read_broadcast.setOnClickListener(this);bt_read_application.setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.bt_read_activity:readMetaDataFromActivity();break;case R.id.bt_read_service:readMetaDataFromService();break;case R.id.bt_read_broadcast:readMetaDataFromBroadCast();break;case R.id.bt_read_application:readMetaDataFromApplication();break;default:break;}}/*** 讀取application 節(jié)點(diǎn) meta-data 信息*/private void readMetaDataFromApplication() {try {ApplicationInfo appInfo = this.getPackageManager().getApplicationInfo(getPackageName(),PackageManager.GET_META_DATA);String mTag = appInfo.metaData.getString("mTag");Log.e(TAG, "mTag=" + mTag);} catch (NameNotFoundException e) {e.printStackTrace();}}/*** 讀取BroadcastReceiver 節(jié)點(diǎn) meta-data 信息*/private void readMetaDataFromBroadCast() {try {ComponentName cn = new ComponentName(this, DemoReceiver.class);ActivityInfo info = this.getPackageManager().getReceiverInfo(cn,PackageManager.GET_META_DATA);String mTag = info.metaData.getString("mTag");Log.e(TAG, "mTag=" + mTag);} catch (NameNotFoundException e) {e.printStackTrace();}}/*** 讀取Service 節(jié)點(diǎn) meta-data 信息*/private void readMetaDataFromService() {try {ComponentName cn = new ComponentName(this, DemoService.class);ServiceInfo info = this.getPackageManager().getServiceInfo(cn,PackageManager.GET_META_DATA);String mTag = info.metaData.getString("mTag");Log.e(TAG, "mTag=" + mTag);} catch (NameNotFoundException e) {e.printStackTrace();}}/*** 讀取Activity 節(jié)點(diǎn) meta-data 信息*/private void readMetaDataFromActivity() {ActivityInfo info;try {info = this.getPackageManager().getActivityInfo(getComponentName(),PackageManager.GET_META_DATA);String mTag = info.metaData.getString("mTag");Log.e(TAG, "mTag=" + mTag);//讀取圖片資源idint mResource = info.metaData.getInt("mResource");iv_pic.setImageResource(mResource);} catch (NameNotFoundException e) {e.printStackTrace();}}}



以上是我把搜集的資料整理出來的內(nèi)容,寫得比較雜亂,所以大家看不懂可以自己在網(wǎng)上搜索資料看一下。


android 讀取manifest的數(shù)據(jù)就講完了。


就這么簡(jiǎn)單。






















































總結(jié)

以上是生活随笔為你收集整理的android 读取manifest的数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美系列在线观看 | 日本热久久| 日韩av三级在线 | 午夜激情在线播放 | 老司机一区 | 久久久久久久伊人 | 九九久久九九久久 | 在线不卡欧美 | 一级特黄aa大片欧美 | 国产精品一区二区亚洲 | 青草草在线观看 | 91国内揄拍国内精品对白 | 屁股夹体温计调教play | 久久精品波多野结衣 | a黄色大片 | 在线色亚洲| 涩涩视频在线免费看 | 91精品国产91久久久久久 | 一本一本久久a久久精品综合麻豆 | 四虎精品一区二区 | 免费午夜视频在线观看 | 欧美成人免费观看 | 免费视频91| 国产18在线 | 人妻激情偷乱视频一区二区三区 | 亚洲免费中文字幕 | 嫩草影院懂你的影院 | 国产精品九九九九九 | 国产日本一区二区三区 | 波多野结衣99 | 亚洲影视在线观看 | 在线观看一二三区 | 97色伦图片 | 中文字幕在线视频网站 | 91网国产 | 久久国产激情 | 狠狠的干狠狠的操 | 理论在线视频 | 天天操天天干天天干 | 欧美俄罗斯乱妇 | 亚洲一区人妻 | www夜插内射视频网站 | 国产美女激情视频 | 在厨房拨开内裤进入毛片 | 亚洲五十路 | 国产激情一区二区三区 | 亚洲欧美一区二区三区久久 | 国产精品欧美性爱 | 日本欧美久久久久免费播放网 | 日本v片 | 粉嫩aⅴ一区二区三区四区五区 | av调教 | 一区二区美女视频 | 一边摸内裤一边吻胸 | 69久久成人精品 | 2021天天操| 中文字幕av有码 | 痴女扩张宫交脱垂重口小说 | 黄色正能量网站 | 美女大bxxxxn内射 | 国产理论在线观看 | 亚洲黄v| 日韩av电影手机在线观看 | www.国产在线视频 | ass大乳尤物肉体pics | 国产成人无码精品久久久久 | 91玖玖| 完美搭档在线观看 | 日韩视频一区二区三区四区 | 涩天堂| 国产熟妇乱xxxxx大屁股网 | 黄色a免费 | 在线观看xxxx | 精品久久久999 | 久久午夜剧场 | 色综合天天色 | 一起操在线 | 国产精品videossex久久发布 | 二区在线视频 | 成人综合av| 国内精品偷拍视频 | 东京干手机福利视频 | 小宵虎南在线观看 | 亚洲国产精品女人久久久 | 国产精品黑人一区二区三区 | 美女网站全黄 | 日韩3p| 蜜臂av| 免费av视屏 | 亚洲天堂中文在线 | 一道本在线观看 | a级大片免费看 | 色九九 | 肉大捧一进一出免费视频 | 欧美日韩免费在线观看 | 你懂的av在线 | 欧美黄色一级生活片 | 日美毛片 | 海角社区id|