问题描述
我见过许多使用 Flutter 编写的音乐播放器或其他应用程序,但它们都没有 open with
菜单。
明确地说,我的意思是如何让我的音乐播放器/其他应用程序显示在菜单中,就像我想从文件中访问音乐并且我的应用程序出现在该菜单中一样。
有没有办法做到这一点,因为我找不到它,也找不到与之相关的任何问题。
以上是三星显示的open with
菜单,其他安卓设备的菜单类型也类似。
解决方法
Open with
菜单是操作系统提供的原生功能。菜单在同一部手机上的不同应用中看起来相同,但在其他手机上看起来不同。
要在 Flutter 应用程序中触发此菜单,我们可以使用 open_file
之类的包,它会调用原生 OS 方法来打开文件:
import 'package:open_file/open_file.dart';
OpenFile.open("/sdcard/example.txt");
如果为该特定文件扩展名分配了多个应用,则会出现 Open with
菜单并提示最终用户选择应用。
也就是说,根据您的情况,完全可以为您的应用创建自定义 Open with
菜单,但建议使用操作系统本身提供给我们的菜单。