安卓scheme_url调端:在AndroidManifest.xml 中如何配置 Intent-filter?

简介: 为了使Android应用响应vivo和oppo浏览器的Deep Link或自定义scheme调用,需在`AndroidManifest.xml`中配置`intent-filter`。定义启动的Activity及其支持的scheme和host,并确保Activity可由外部应用启动。示例展示了如何配置HTTP/HTTPS及自定义scheme,以及如何通过浏览器和adb命令进行测试,确保配置正确无误。

这可以通过在 AndroidManifest.xml 中配置 intent-filter 来实现。为了确保你的应用能够正确响应来自 vivo 和 oppo 浏览器的 deep link 或自定义 scheme 调用,你需要对 intent-filter 做相应配置。


基本配置步骤

  1. 定义 Intent Filter:为你要启动的 Activity 定义 intent-filter。
  2. 配置支持的 Scheme 和 Host:根据需要配置 URL scheme 和 host。
  3. 确保 Activity 可被外部应用启动。



AndroidManifest.xml 配置示例

下面是一个完整的 AndroidManifest.xml 配置示例,其中包含了常见的配置以便你的应用能够被 vivo 和 oppo 浏览器调用:


<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.yourapp">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:exported="true">
            <!-- Deep Link 配置 -->
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                
                <!-- 配置 HTTP 和 HTTPS 链接 -->
                <data android:scheme="http" android:host="www.example.com" />
                <data android:scheme="https" android:host="www.example.com" />
            </intent-filter>
            
            <!-- 自定义 Scheme 配置 -->
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                
                <!-- 配置自定义 Scheme -->
                <data android:scheme="yourapp" android:host="open" />
            </intent-filter>
        </activity>
    </application>
</manifest>



具体解释

  1. Deep Link 配置:
  • 通过 android.intent.action.VIEW action 和 DEFAULT、BROWSABLE categories,使你的应用可以响应来自浏览器和其他支持 deep link 的应用的请求。
  • data 元素中的 android:scheme 和 android:host 指定了你的应用支持的 URL scheme 和主机名。
  • 例子中配置支持:
  1. 自定义 URL Scheme 配置:
  • 通过 android.intent.action.VIEW action 和 DEFAULT、BROWSABLE categories 使得你的应用可以响应自定义 URL scheme 的请求。
  • data 元素中的 android:scheme 和 android:host 指定了自定义的 scheme。
  • 例子中配置支持:
  • yourapp://open
  1. 确保 Activity 可被外部应用启动:
  • 设置 android:exported="true" 属性,确保该 Activity 可以被外部应用启动。



调用示例

  • 通过浏览器或其他支持 deep link 的应用调用:
    plaintext
http://www.example.com
https://www.example.com
  • 通过自定义 URL scheme 调用:
    plaintext
yourapp://open



测试你的配置

为了确保你的配置正确,并且 vivo 和 oppo 浏览器能够调用你的应用,可以通过以下方式进行测试:

  1. 在浏览器中输入 deep link URL:
  1. 通过 adb 命令测试:
  • 你也可以使用 adb 命令来测试 deep link 和自定义 scheme,确保它们能正确打开你的应用。
  1. sh
adb shell am start -a android.intent.action.VIEW -d "http://www.example.com"
adb shell am start -a android.intent.action.VIEW -d "yourapp://open"

通过以上步骤配置和测试,你可以确保你的应用能够被 vivo 和 oppo 浏览器调用。根据具体的需求,你可能需要调整 android:scheme 和 android:host 的配置。



相关文章
|
10月前
|
开发工具 Android开发 iOS开发
如何在Android Studio中配置Flutter环境?
如何在Android Studio中配置Flutter环境?
2258 61
|
5月前
|
存储 API Android开发
【02】完整的安卓二次商业实战-配置gradle-构建打包原生安卓项目-调试本地运行模拟器-优雅草伊凡
【02】完整的安卓二次商业实战-配置gradle-构建打包原生安卓项目-调试本地运行模拟器-优雅草伊凡
325 4
【02】完整的安卓二次商业实战-配置gradle-构建打包原生安卓项目-调试本地运行模拟器-优雅草伊凡
|
5月前
|
Java 开发工具 Maven
【01】完整的安卓二次商业实战-详细的初级步骤同步项目和gradle配置以及开发思路-优雅草伊凡
【01】完整的安卓二次商业实战-详细的初级步骤同步项目和gradle配置以及开发思路-优雅草伊凡
434 6
|
9月前
|
Android开发 开发者
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
本文详细介绍了如何通过自定义 `attrs.xml` 文件实现 Android 自定义 View 的属性配置。以一个包含 TextView 和 ImageView 的 DemoView 为例,讲解了如何使用自定义属性动态改变文字内容和控制图片显示隐藏。同时,通过设置布尔值和点击事件,实现了图片状态的切换功能。代码中展示了如何在构造函数中解析自定义属性,并通过方法 `setSetting0n` 和 `setbackeguang` 实现功能逻辑的优化与封装。此示例帮助开发者更好地理解自定义 View 的开发流程与 attrs.xml 的实际应用。
267 2
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
|
11月前
|
安全 算法 小程序
【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
765 28
【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
|
11月前
|
XML JavaScript Android开发
【Android】网络技术知识总结之WebView,HttpURLConnection,OKHttp,XML的pull解析方式
本文总结了Android中几种常用的网络技术,包括WebView、HttpURLConnection、OKHttp和XML的Pull解析方式。每种技术都有其独特的特点和适用场景。理解并熟练运用这些技术,可以帮助开发者构建高效、可靠的网络应用程序。通过示例代码和详细解释,本文为开发者提供了实用的参考和指导。
437 15
|
11月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
缓存 前端开发 Android开发
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
617 12
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
|
Dart 前端开发 Android开发
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
437 1
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
XML Java 数据格式
Spring容器Bean之XML配置方式
通过对以上内容的掌握,开发人员可以灵活地使用Spring的XML配置方式来管理应用程序的Bean,提高代码的模块化和可维护性。
442 6

热门文章

最新文章