如何检查 activity 是否与元数据标签相关联?

How to check if an activity is associated with a metadata tag or not?

我有一个 activity,它有一个关联的元数据标签。


        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

            <meta-data
                android:name="type"
                android:value="a" />
        </activity>

在我的 activity 的任何时间点,我需要知道我的 activity 是否与 'a' 类型的元数据标签相关联。如何实现这一目标。我试过

        Intent intent = mCurrentActivity.getIntent();
        Bundle bundle = (intent != null) ? intent.getExtras() : null;
        String value = (bundle != null) ? bundle.getString("type") : null;

但这总是返回 null 而不是 a。我在这里遗漏了什么吗?

使用它来获取元数据:

ActivityInfo activityInfo = getPackageManager()
    .getActivityInfo(getComponentName(), PackageManager.GET_META_DATA);
Bundle bundle = activityInfo.metaData;
String value = bundle.getString("type");