gpt4 book ai didi

java - 带有 list 文件的 Android 元数据 - nullPointerException

转载 作者:行者123 更新时间:2023-11-30 11:32:49 26 4
gpt4 key购买 nike

我正在尝试从 list 文件中访问 Activity 的元数据。

list 看起来像这样:

    <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>

访问它的代码如下所示:

    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 to load meta-data, NameNotFound: " + e.getMessage());
feedTag = "NEWS";
} catch (NullPointerException e) {
Log.e("metadata", "Failed to load meta-data, NullPointer: " + e.getMessage());
feedTag = "NEWS";
}

当我执行代码时,我总是得到 nullPointerException。

我做错了什么?

最佳答案

documentation对于 PackageManager.GET_META_DATA说:

ComponentInfo flag: return the metaData data Bundles that are associated with a component. This applies for any API returning a ComponentInfo subclass.

您正在调用 getApplicationInfo()返回 ApplicationInfo目的。 ApplicationInfo不继承自 ComponentInfo , 所以这个对象不会有任何元数据。你需要得到 ActivityInfo为你的MainActivity为了获取元数据( ActivityInfoComponentInfo 的子类)。

关于java - 带有 list 文件的 Android 元数据 - nullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16373883/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com