如何让自研Android、iOS全功能浏览器支持被设置为系统默认浏览器
以下是Android、iOS双端分别需要完成的配置操作:

Android端实现步骤
- 第一步在
AndroidManifest.xml中注册网页处理的Intent过滤器,配置如下:
<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:scheme="http" /> <data android:scheme="https" /> </intent-filter>
- Android 12及以上系统需要给上述intent-filter标签添加
android:autoVerify="true"属性,同时在你关联的域名根目录下放置assetlinks.json验证文件,完成域名和应用的关联,保证隐式跳转可以正常被应用捕获。 - 应用内可通过调用
ACTION_MANAGE_DEFAULT_APPS_SETTINGS意图直接跳转到系统默认应用设置页面,引导用户快速设置你的应用为默认浏览器。
iOS端实现步骤
- 打开Xcode项目的Info.plist配置文件,添加
CFBundleURLTypes项,在子项中添加CFBundleURLSchemes,分别声明http、https两个协议的处理权限。 - 开启项目的Associated Domains能力,添加
applinks:你的官方域名配置,同时在对应域名的根目录放置apple-app-site-association验证文件,完成域名和应用的关联校验。 - 应用内引导用户设置时,可通过调用
UIApplicationOpenSettingsURLString直接跳转到你应用的系统设置页,用户可在该页面找到默认浏览器设置选项完成配置。
注意:iOS端提交App Store审核时,必须确保你的应用具备完整的浏览器基础功能,包括地址栏输入网址、网页浏览、书签/历史记录管理等,否则审核会被驳回,无法获得默认浏览器的设置权限。
内容的提问来源于stack exchange,提问作者LukePisano
相关产品推荐
相关产品推荐

