支持 Http URL

第 1 步: - 允许 Google 抓取你的 content.Edit 服务器的 robot.txt 文件。你可以通过编辑此文件来控制你的内容的 Google 抓取,你可以参考此链接了解更多详情。

第 2 步: - 将你的应用程序与你的网站关联。包括 assetlinks.json 你将其上传到你的 Web 服务器的 .well-已知目录。你的 assetlinks.json 的内容为 -

       [{
"relation": ["delegate_permission/common.handle_all_urls"],
"target" : 
{ "namespace": "android_app",
"package_name": "<your_package_name>",
"sha256_cert_fingerprints": ["<hash_of_app_certificate>"] }

}]

第 3 步: - 在清单文件中包含应用程序链接,将 Urls 重定向到你的应用程序,如下所示,

<activity
       android:name=".activity.SampleActivity"
       android:label="@string/app_name"
       android:windowSoftInputMode="adjustResize|stateAlwaysHidden">
       <intent-filter>
             <action android:name="android.intent.action.VIEW" />
             <category android:name="android.intent.category.DEFAULT" />
             <category android:name="android.intent.category.BROWSABLE" />
       <data
             android:host="example.live"
             android:pathPrefix="/vod"
             android:scheme="https"/>
       <data
             android:host="example.live"
             android:pathPrefix="/vod"
             android:scheme="http"/>
     </intent-filter>
   </activity>

如果你想在此处了解每个标签,请参阅此处。

<action> 指定 ACTION_VIEW 意图操作,以便可以从 Google 搜索到达意图过滤器。

<data> 添加一个或多个标记,其中每个标记表示解析为活动的 URI 格式。至少,标记必须包含 android:scheme 属性。你可以添加其他属性以进一步优化活动接受的 URI 类型。例如,你可能有多个活动接受类似的 URI,但这些活动仅根据路径名而有所不同。在这种情况下,使用 android:path 属性或其变体(pathPattern 或 pathPrefix)来区分系统应为不同的 URI 路径打开哪个活动。

<category> 包括 BROWSABLE 类别。需要 BROWSABLE 类别才能从 Web 浏览器访问 intent 过滤器。没有它,单击浏览器中的链接无法解析为你的应用程序。DEFAULT 类别是可选的,但建议使用。如果没有此类别,则只能使用你的应用程序组件名称以明确的意图启动活动。

第 4 步: - 处理传入的 URL

    @Override
    protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_schedule);
       onNewIntent(getIntent());
  }

   protected void onNewIntent(Intent intent) {
   String action = intent.getAction();
   Uri data = intent.getData();
   if (Intent.ACTION_VIEW.equals(action) && data != null) {
       articleId = data.getLastPathSegment();
       TextView linkText = (TextView)findViewById(R.id.link);
       linkText.setText(data.toString());
   }

}

步骤 5: - 你可以使用 Android Debug Bridge 命令或工作室配置对此进行测试。Adb 命令: - 启动你的应用程序,然后运行此命令: -

adb shell am start -a android.intent.action.VIEW -d "{URL}" < package name >

Android Studio 配置: - Android 工作室>构建>编辑配置>启动选项>选择 URL>然后在此处输入你的 URL>应用并测试。如果运行窗口显示错误,请运行你的应用程序,然后你需要检查你的 URL 格式显示中提到的 applinks 否则会成功运行,如果指定,重定向到页面提到了你的 URL。