如何将自行开发的视频播放器APP设置为系统默认视频播放器
Android 平台实现方案
核心是为你的视频播放 Activity 配置对应的 Intent Filter,让系统识别你的应用具备处理视频播放请求的能力,具体操作如下:
- 打开项目中的
AndroidManifest.xml文件 - 定位到负责视频播放逻辑的 Activity 节点,添加如下 intent-filter 配置:
<activity android:name=".your.package.VideoPlayerActivity"> <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:mimeType="video/*" /> <!-- 支持本地文件和系统ContentProvider提供的视频 --> <data android:scheme="file" /> <data android:scheme="content" /> <!-- 如果需要支持打开http/https的在线视频链接,添加以下两行 --> <!-- <data android:scheme="http" /> <data android:scheme="https" /> --> </intent-filter> </activity>
- 配置完成后重新安装应用,系统接收到视频播放请求时,会自动将你的应用列入可选列表
- 后续你可以在对应 Activity 中通过
getIntent().getData()获取到待播放的视频地址,执行播放逻辑即可
iOS 平台实现方案
iOS 端需要在 Info.plist 中配置文档类型声明,告知系统你的应用支持打开视频格式文件:
- 打开项目的 Info.plist,右键选择
Open As > Source Code - 添加如下配置:
<key>CFBundleDocumentTypes</key> <array> <dict> <key>CFBundleTypeName</key> <string>Video File</string> <key>CFBundleTypeRole</key> <string>Viewer</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>public.movie</string> <string>public.video</string> <string>public.avi</string> <string>public.mpeg-4</string> <string>public.mpeg</string> <!-- 可按需添加其他需要支持的视频格式UTI --> </array> </dict> </array>
- 配置完成后重新打包安装应用,其他应用触发视频打开请求时,你的应用就会出现在可选列表中
- 你可以通过 AppDelegate 的
application:openURL:options:回调获取到传入的视频文件地址,执行后续播放逻辑
内容的提问来源于stack exchange,提问作者Ahmed Al-Ghanim
相关产品推荐
相关产品推荐

