1. 程式人生 > >android mainfest 中metadata得到數值為null解決方法

android mainfest 中metadata得到數值為null解決方法

遊戲開發經常要在AndroidManifest.xml中定義一些支付的渠道號 

<meta-data
android:name="channel"
android:value="1234" />

但是在程式中讀取的時候發現死活得不到這個值,一直是為null 

然後發現在數字後面隨便加一個字母之後就可以得到了

<meta-data
android:name="channel"
android:value="1234w" />

後來才發現讀取字串的數值要用info.metaData.getInt

<meta-data
android:name="channel"


android:value="1234" />

ActivityInfo info = this.getPackageManager() .getActivityInfo(getComponentName(),PackageManager.GET_META_DATA); info.metaData.getInt("channel");

其他相關知識

概念

meta-data就像其名一樣,主要用來定義一些元件相關的配置值。

按照官方定義,metadata是一組供父元件使用的名值對(name-value pair),因此相應的meta-data元素應該定義在相應的元件中。即如果想在activity中使用metadata,那麼meta-data必須定義在AndroidManifest.xml的activity宣告中。

使用

所有的名值對被包裝成Bundle供元件使用,因此使用方式同Bundle。metadata普通值由value屬性給出,資源ID由resource屬性給出。
比如我們定義資源

?
1 2 3 <stringname="x_key">resource key</string> //R public static final int ic_launcher=0x7f020000;
定義metadata ?
1 2 3 4 5 6 7 8 9 <meta-data android:name="com.xesam.key_1" android:value="x_key"/> <meta-data android:name="com.xesam.key_2" android:value="@string/x_key"/> <meta-data android:name="com.xesam.img" android:resource="@drawable/ic_launcher"/>

那麼有:

?
1 2 3

相關推薦

android mainfest metadata得到數值null解決方法

遊戲開發經常要在AndroidManifest.xml中定義一些支付的渠道號  <meta-data android:name="channel" android:value="1234" /> 但是在程式中讀取的時候發現死活得不到這個值,一直是為

androidの自定義控制元件View在Activity使用findByViewId得到結果null,解決方法。。

androidの自定義控制元件View在Activity中使用findByViewId得到結果為null 1.  大家常常自定義view,,然後在xml 中新增該view 元件。。如果在Activity 中使用findByViewId 方法獲取該view 時候,返回物件總為

android getLastKnownLocation()獲取當前位置null解決方法

 用Google map api開發是一件令人糾結的事情 使用 getLastKnownLocation() 總是莫名奇妙的獲取不到值,為null,然後又莫名其妙的好了。除錯了半天也沒用,上網找資料,前篇一律的一個答案 所以以後就讓它自生自滅吧。 LocationManag

【SpringBoot】攔截器使用@Autowired註入接口null解決方法

res 自定義 row 攔截 request spa mvcc gist private 最近使用SpringBoot的自定義攔截器,在攔截器中註入了一個DAO,準備下面作相應操作,攔截器代碼: public class TokenInterceptor implemen

【SpringBoot】攔截器使用@Autowired注入介面null解決方法

public class TokenInterceptor implements HandlerInterceptor { @Autowired private ITokenDao tokenDao; @Override public

使用android studio遇到的常見問題及解決方法

軟體環境:android studio 記錄一下自己使用android studio過程中遇到的問題和解決方案 Question 1: "cannot resolve symbol R" 解決方法

Android設定音量條拖動異常解決方法

在Android P,設定-->聲音中,通過拖動SeekBar設定音量,尤其是鈴聲音量時存在以下三個問題: 1、滑動條不跟手,存在回彈的現象。 2、偶發性的滑動條所在的位置與實際值不相符。 3、偶發性的,滑動鈴聲音量條時,鬧鐘音量也跟著滑動。 對問題日誌分析沒有

Android React Native在Android Studio執行bundleReleaseJsAndAssets 打包失敗的解決方法

react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output C:\Users\Administrator\Desktop

Android:HTTP傳輸加號變成空格的解決方法

利用HttpURLConnection向後臺傳輸資料時,傳入的引數如下: StringBuffer sb = new StringBuffer(); sb.append("account=").append("admin").append("&");

自定義View通過findviewbyid返回null解決方法

findviewbyid 返回為null,這個問題一般說明想要找的view沒有在對應的layout上面。 今天遇到一個同樣的問題,但是確定view已經在layout上,但是仍然返回為null。雖然最終找到了問題原因,但是過程艱辛。 具體程式碼如下 MainAct

springboot開發 以POST方式向後臺傳遞json資料的時候引數值null

自己寫了一個簡單的springboot後臺程式碼,當我用postman以post方式向後臺傳遞json物件時,後臺物件的引數值總是為null,找了好久終於解決了,下面分享一下我的解決問題艱辛路程。 明明我傳了引數值,但是debug除錯的時候就是獲取不到。 1.首先

springmvc的controller方法接受到的引數值NULL

最近遇到一個問題controller方法中接收到的引數為Null,使用的是spring-webmvc-4.3.1,tomcat使用的是tomcat6,前後臺程式碼大概如下: function test7(){ var user={"username":"zhangsa

與第三方進行聯調測試,對方將JSON形式的引數放到params,接收請求後獲取引數值null

第三方將引數放入請求體中,請求過來之後,這邊request.getParameter("params")獲取不到引數。第三方用的Content-Type是application/json,在我們的建議下修改為text/html,發現還是不行。但是我們之前自測是沒有問題的,所以

解釋 Android 呼叫系統相機,在onActivityResult接收的datanull的原因

   很多時候,我們在使用程式呼叫系統相機的時候,會發現在onActivityResult中接收的data為null,開始我也一直不明白,這是為什麼,後來查看了原始碼才知道,今天在這記錄一下,方便以後

Android 那些年,處理getActivity()null的日子

ble and 自己的 導致 void 解決問題 nat ont 原理 在日常開發中的時候,我們經常會使用ViewPager+Fragment進行視圖滑動,在某些部分邏輯也許我們需要利用上下文Context(例如基本的Toast),但是由於Fragment只是衣服

mysql查詢欄位null或者不null的sql語句怎麼寫?

在mysql中,查詢某欄位為空時,切記不可用 = null,而是 is null,不為空則是 is not null select * from table where column is null; select * from table where column is not null; se

Android Fragment 沒有findViewById 或者 返回null

因為Fragment又稱為碎片,在實際程式碼中他也是一個類而不是一個Activity 所以他沒有findViewById()這個方法 但要想在fragment中使用這個方法要怎麼辦呢? 由Fragment預設的程式碼中可以看出 public class infoFragment ex

Android通過findViewById()獲取控制元件NULL

如果在activity中直接呼叫findViewById方法,它的完整形式是this.findViewById().而我所需要的控制元件是不存在本身activity的佈局中的.所以要通過控制元件所在的view呼叫findViewById方法,就可以獲取到正確的控制元件了

android程式碼混淆之Gson解析null

自古英雄不問出處,奈何我卻不是英雄! 如果你的專案中用到了Gson。並且你的程式在混淆之後執行後發現獲取了資料,但是在看解析成Gson的時候都是null,那麼你就要加上下面的程式碼。這裡要注意最後一行。這個是你javabean物件的路徑 -keepattrib

資料庫時間欄位null,獲取資料庫資料對映到類,類相應的屬性的值是null還是時間預設值

          由於最新需要判斷資料庫中時間是否符合邏輯資料來做後續業務處理,但是就是有點蒙,開始直接判斷是否為初始值,就是預設值,也就是  DateTime.MinValue,但是我想就是不對,