如何使用intent过滤器从其他应用程序的URL(可能是消息)打开myapp(一个Activity而不是MainActivity),同时启动我的app app

时间:2015-08-07 09:31:55

标签: android android-intent

作为标题: 如何使用意图过滤器从其他应用程序的URL(可能是一条消息)打开myapp(一个Activity而不是MainActivity),单独启动我的应用程序(这意味着myapp不会在包含该URL的其他应用程序内启动)

我使用意图过滤器开发了具有共享功能的myapp。虽然我可以在myapp的某些活动中显示URL,但myapp会在另一个应用程序中启动(就像myapp占用其他应用程序一样)。

下面是我的代码:

AndroidManifest:

 <activity
        android:name=".activity.URLActivity"
        android:label="@string/URL_details"
        android:screenOrientation="portrait">

        <intent-filter>
            <action android:name="android.intent.action.VIEW"></action>
            <category android:name="android.intent.category.DEFAULT"></category>
            <category android:name="android.intent.category.BROWSABLE"></category>
            <data android:host="123.456.789.10" android:scheme="https"></data>
            />
        </intent-filter>


       </activity>

打开URL的Activity's Fragment的代码:

Intent intentFromURL = getActivity().getIntent();

    if (intentFromURL.getDataString()!=null) {
        mIntentURL = intentFromURL.getDataString();
        String[] splittingURL = mIntentURL.split("/");
        mProductCode = splittingURL[5];
    }

1 个答案:

答案 0 :(得分:0)

我可以在我的myapp活动中打开网址,而不是&#34;允许其他应用打开我的应用&#39;活动&#34;

对于我的情况,我在我想要调用的活动下面向AndroidManifest.xml添加了一个代码。

解决方案如下:

<activity
    android:name=".activity.URLActivity"
    android:label="@string/URL_details"
    android:screenOrientation="portrait"
    android:launchMode="singleTask">

    <intent-filter>
        <action android:name="android.intent.action.VIEW"></action>
        <category android:name="android.intent.category.DEFAULT"></category>
        <category android:name="android.intent.category.BROWSABLE"></category>
        <data android:host="123.456.789.10" android:scheme="https"></data>
        />
    </intent-filter>


   </activity>

我添加了&#34; android:launchMode =&#34; singleTask&#34;&#34;,任务将在我的应用上启动,但不会启动其他应用。(等Whatsapp)

我希望这可以帮助像我这样的人。=]