Sascha Möllering
Sascha Möllering

Reputation: 381

Reading value of android:scheme programmatically

I want to know if it is possible to read the value of android:scheme from the Android-manifest-file (example below) programmatically.

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

Upvotes: 6

Views: 2611

Answers (2)

David Wasser
David Wasser

Reputation: 95656

You should be able to get this information from the PackageManager:

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

Unfortunately, however, you can't :-( This call SHOULD return the intent filters (according to the documentation), but it seems that the Android developers haven't gotten around to actually implementing it yet :-(

See Unable to get intent filters from a package

Upvotes: 2

Danation
Danation

Reputation: 793

I'm assuming you mean that the intent has been called and you're trying to find the scheme from your activity's code?

In your activity's onCreate method, you can do the following:

Intent intent = getIntent();
Uri data = intent.getData();
String scheme = data.getScheme(); // "zxtest"

Upvotes: 0

Related Questions