java - Android metadata with manifest file - nullPointerException -


i attempting access metadata activity manifest file.

the manifest looks :

    <activity         android:name="co.uk.benbun.nvrrclubapp.mainactivity"         android:label="@string/app_name" >         <meta-data android:value="newstag" android:name="news"></meta-data>         <intent-filter>             <action android:name="android.intent.action.main" />              <category android:name="android.intent.category.launcher" />         </intent-filter>     </activity> 

the code access it, looks :

    try {         applicationinfo ai = getpackagemanager().getapplicationinfo(this.getpackagename(), packagemanager.get_meta_data);         bundle bundle = ai.metadata;         string myapikey = bundle.getstring("news");     } catch (namenotfoundexception e) {         log.e("metadata", "failed load meta-data, namenotfound: " + e.getmessage());         feedtag = "news";     } catch (nullpointerexception e) {         log.e("metadata", "failed load meta-data, nullpointer: " + e.getmessage());         feedtag = "news";     } 

when execute code nullpointerexception.

what doing wrong?

the documentation packagemanager.get_meta_data says:

componentinfo flag: return metadata data bundles associated component. applies api returning componentinfo subclass.

you calling getapplicationinfo() returns applicationinfo object. applicationinfo not inherit componentinfo, object not have meta-data. need activityinfo mainactivity in order meta-data (activityinfo subclass of componentinfo).


Comments

Popular posts from this blog

c++ - Function signature as a function template parameter -

How to call a javascript function after the page loads with a chrome extension? -

algorithm - What are some ways to combine a number of (potentially incompatible) sorted sub-sets of a total set into a (partial) ordering of the total set? -