建立一个网址链接启动我的应用程序,而不是打开嵌入式

时间:2014-05-20 08:37:52

标签: android

我在我的应用程序中定义了以下intent过滤器,以使其响应url链接。

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

现在,当我点击外部应用程序中的链接时(例如sms发送的链接),它会在当前应用程序中以嵌入方式打开我的应用程序。这意味着,如果我转到后台,我会在短信应用程序中看到我的应用程序。 我希望链接能够单独打开我的应用程序。这是正确的行为,例如在选择chrome / android原生浏览器作为打开链接的应用程序时会发生。

还有办法改变我的应用程序吗?

1 个答案:

答案 0 :(得分:0)

您必须将活动的launchMode设置为singleTasksingleInstance。这将强制系统为您的应用程序打开一个新任务,而不是在与sms-app或其他任务相同的任务中打开它。

看起来应该是这样的:

<activity android:name="yourActivity"
          android:launchMode="singleTask">
</activity>

有关详细信息,请参阅文档:http://developer.android.com/guide/topics/manifest/activity-element.html#lmode