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
Post a Comment