文件选择对话框和安卓手机

Posted

技术标签:

【中文标题】文件选择对话框和安卓手机【英文标题】:File Selection Dialog & Android Phone 【发布时间】:2021-12-18 11:48:50 【问题描述】:

从下图可以看出,我的手机Varonica可以在windows explorer中看到,但在我的应用程序中看不到;

我希望看到的是我在文件对话框中的 Windows 资源管理器中看到的,但由于某种原因我没有看到。我的应用程序中的用户无法通过简单地调用文件对话框导航到手机设备以将文件保存在手机上,因为手机设备不会作为设备出现在列表中(如我发布的图像所示)。相反,他们必须打开 Windows 资源管理器窗口和手机设备,然后手动将其拖到设备上。

我想不出为什么文件对话框中存在这种限制的实际原因,所以我期望我需要在 SaveFileDialog() 方法上设置一个标志?还是有其他解决方案。

public static string SaveFileRequester(string title, string defaultfile, string pattern, int position = 0) 
    using (SaveFileDialog saveFileDialog = new SaveFileDialog()) 
        saveFileDialog.Title = title;
        saveFileDialog.Filter = pattern;
        saveFileDialog.FilterIndex = position;
        saveFileDialog.RestoreDirectory = true;

        if (saveFileDialog.ShowDialog() == DialogResult.OK) 
            return saveFileDialog.FileName;
         else 
            return "";
        
    

【问题讨论】:

嗨,欢迎来到 ***。不清楚你在这里问什么。您能否编辑您的问题以添加有关您正在尝试实现的目标以及其中哪些部分没有按照您的预期工作的详细信息。 好吧,我试着更明确一些。 【参考方案1】:

手机、平板电脑和相机等设备没有显示在 SaveFileDialog() 中的原因是这些设备使用 MTP(媒体传输协议)、PTP(图片传输协议)和 MSC(海量存储类) ) 设备,例如手机、平板电脑和相机,并使用不同的 API 来访问它们。

简单地说(将来可能会阅读此内容的人)SaveFileDialog() 或实际上任何使用 System.Windows.Forms.*******Dialog 的对话框不支持 MTP/PTP。

【讨论】:

以上是关于文件选择对话框和安卓手机的主要内容,如果未能解决你的问题,请参考以下文章

html文件在安卓手机上怎么阅读?

oppo手机怎么升级安卓系统?

安卓手机怎么改MAC地址?Android如何修改MAC地址

安卓手机要怎么解除权限ROOM

安卓/苹果如何解压?

还在苦恼mac电脑和安卓手机如何互传文件?