这可以通过在 AndroidManifest.xml 中配置 intent-filter 来实现。为了确保你的应用能够正确响应来自 vivo 和 oppo 浏览器的 deep link 或自定义 scheme 调用,你需要对 intent-filter 做相应配置。
基本配置步骤
- 定义 Intent Filter:为你要启动的 Activity 定义 intent-filter。
- 配置支持的 Scheme 和 Host:根据需要配置 URL scheme 和 host。
- 确保 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>
具体解释
- Deep Link 配置:
- 通过 android.intent.action.VIEW action 和 DEFAULT、BROWSABLE categories,使你的应用可以响应来自浏览器和其他支持 deep link 的应用的请求。
- data 元素中的 android:scheme 和 android:host 指定了你的应用支持的 URL scheme 和主机名。
- 例子中配置支持:
- 自定义 URL Scheme 配置:
- 通过 android.intent.action.VIEW action 和 DEFAULT、BROWSABLE categories 使得你的应用可以响应自定义 URL scheme 的请求。
- data 元素中的 android:scheme 和 android:host 指定了自定义的 scheme。
- 例子中配置支持:
- yourapp://open
- 确保 Activity 可被外部应用启动:
- 设置 android:exported="true" 属性,确保该 Activity 可以被外部应用启动。
调用示例
- 通过浏览器或其他支持 deep link 的应用调用:
plaintext
http://www.example.com https://www.example.com
- 通过自定义 URL scheme 调用:
plaintext
yourapp://open
测试你的配置
为了确保你的配置正确,并且 vivo 和 oppo 浏览器能够调用你的应用,可以通过以下方式进行测试:
- 在浏览器中输入 deep link URL:
- 打开 vivo 或 oppo 浏览器,输入 http://www.example.com 或 https://www.example.com 进行测试。
- 输入自定义 scheme URL,如 yourapp://open 进行测试。
- 通过 adb 命令测试:
- 你也可以使用 adb 命令来测试 deep link 和自定义 scheme,确保它们能正确打开你的应用。
- 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 的配置。