6

我想知道是否可以以编程方式从 Android 清单文件(下面的示例)中读取 android:scheme 的值。

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="zxtest" />
</intent-filter>
4

2 回答 2

2

您应该能够从以下位置获取此信息PackageManager

PackageManager pm = getPackageManager();
ActivityInfo activityInfo = pm.getActivityInfo(component,
        PackageManager.GET_INTENT_FILTERS);

然而不幸的是,你不能:-(这个调用应该返回意图过滤器(根据文档),但似乎Android开发人员还没有开始实际实现它:-(

请参阅无法从包中获取意图过滤器

于 2013-11-04T10:18:53.767 回答
0

我假设您的意思是已经调用了意图并且您正试图从您的活动代码中找到该方案?

在您的活动的 onCreate 方法中,您可以执行以下操作:

Intent intent = getIntent();
Uri data = intent.getData();
String scheme = data.getScheme(); // "zxtest"
于 2013-01-29T17:09:29.323 回答