我在我的应用程序中定义了以下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原生浏览器作为打开链接的应用程序时会发生。
还有办法改变我的应用程序吗?
答案 0 :(得分:0)
您必须将活动的launchMode
设置为singleTask
或singleInstance
。这将强制系统为您的应用程序打开一个新任务,而不是在与sms-app或其他任务相同的任务中打开它。
看起来应该是这样的:
<activity android:name="yourActivity" android:launchMode="singleTask"> </activity>
有关详细信息,请参阅文档:http://developer.android.com/guide/topics/manifest/activity-element.html#lmode