我试图在Android上拦截我自己的应用程序的URL,以便用户可以在应用程序中而不是在浏览器上打开URL。 (我还没有浏览器支持)。
这就是我正在做的事情
<activity android:name=".ui.activity.MainActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.PICK_ACTIVITY" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" />
<data android:host="myapp.com" />
<data android:pathPattern=".*"/>
</intent-filter>
</activity>
出于某种原因,我打开myapp.com
的任何时候它仍然在浏览器中打开,而不会让我选择在我的应用程序中打开URL。我在运行API 16的模拟器上尝试此操作。我已经多次关闭模拟器并再次启动它,但仍然是相同的行为。
避免个人应用的网址出现任何错误。我甚至尝试过:
<data android:host="goo.gl" android:scheme="http" />
<data android:host="goo.gl" android:scheme="https" />
该应用程序拦截上述网址但仅限第一次。如果我在显示的选项中单击“JUST ONCE”,在重新启动模拟器之前,我不会再次获得该选项。
有没有人经历过这个?我可能做错了什么?