如何防止Android中移动网站的深层链接?

时间:2016-10-15 09:15:28

标签: android deep-linking

我已经为我的所有活动添加了深层链接。

          <intent-filter>
          <action android:name="android.intent.action.VIEW" />
          <category android:name="android.intent.category.BROWSABLE"/>
          <category android:name="android.intent.category.DEFAULT"/>
          <data
              android:host="www.example.com"
              android:path="/stores"
              android:scheme="https" />
          </intent-filter>

当我使用这样的uri在app中调用时,这很好用:

android-app://com.example.app/https/www.example.com/stores

但是当我访问移动网站到这个页面时,它为我提供了多个选项来在应用程序或浏览器中打开页面:https://www.example.com/stores。我有一些页面只显示用户登录但如果用户从移动网站登录,它将重定向到应用程序,它会中断。我不想使用自定义架构。

1 个答案:

答案 0 :(得分:0)

您需要在活动的入口点检查用户的登录状态,并在未登录时向他们显示登录活动(或对话框)。

你必须亲自处理不同的活动。通过深层链接可以获得。只需在每次打开这些活动时检查登录状态,并在需要的情况下指向登录活动或对话框。

如果您不希望浏览器将您的应用程序添加到URI意图建议列表中,只需删除“浏览器”,如下所示:

   <intent-filter>
      <action android:name="android.intent.action.VIEW" />
      <category android:name="android.intent.category.DEFAULT"/>
      <data
          android:host="www.example.com"
          android:path="/stores"
          android:scheme="https" />
      </intent-filter>