gpt4 book ai didi

android - 试图让用户将 .csv 文件导入我的应用程序

转载 作者:行者123 更新时间:2023-12-04 23:49:19 25 4
gpt4 key购买 nike

当您想导出 .csv 时,我在编写此代码后让它工作:

Intent sendIntent = new Intent(Intent.ACTION_SEND_MULTIPLE);
sendIntent.setType("text/csv|text/comma-separated-values|application/csv");
String[] mimetypes = {"text/csv", "text/comma-separated-values", "application/csv"};
sendIntent.putExtra(Intent.EXTRA_MIME_TYPES, mimetypes);
sendIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, arrayListOfUris);
startActivity(Intent.createChooser(sendIntent, "Export CSV"));

当您运行此代码时,它会弹出一个小选择器对话框,您可以在其中将文件导出到 GMail、Email、Android Beam、DropBox、Google Drive 等。它似乎可以很好地处理多个文件。

然而,尝试完成相反的操作(接收多个 .csv 文件)已被证明是非常非常困难的。而且我已经阅读了很多 StackOverflow 线程,它们要么已经过时,要么实际上并没有解决问题。

我一直在尝试这个:
Intent receiveIntent = new Intent(Intent.ACTION_GET_CONTENT);
receiveIntent.setType("text/csv|text/comma-separated-values|application/csv");
String[] mimetypes = {"text/csv", "text/comma-separated-values", "application/csv"};
receiveIntent.putExtra(Intent.EXTRA_MIME_TYPES, mimetypes);
intent.addCategory(Intent.EXTRA_ALLOW_MULTIPLE);
startActivityForResult(Intent.createChooser(receiveIntent, "Import CSV"), REQUEST_IMPORT_CSV); //REQUEST_IMPORT_CSV is just an int representing a request code for the activity result callback later

然而,这只会带来一个选择器,它说没有可以完成此任务的应用程序,我觉得这很莫名其妙。

如果我删除 EXTRA_ALLOW_MULTIPLE行,然后我得到两个结果:
  • 如果我从模拟器运行应用程序,它会转到文件资源管理器,我可以在其中选择单个文件。据我所知,这一切正常,但不允许我选择多个文件。
  • 如果我从我的物理手机运行应用程序,它不会打开文件资源管理器——它让我可以选择从 DropBox 或其他一些不相关的应用程序导入。

  • 为什么不允许文件资源管理器?为什么它不允许其他选项,例如 Google Drive?真的没有将多个文件导入您的应用程序的服务吗?它是否仅在找不到任何其他要调用的应用程序时才为您提供文件资源管理器?

    我的最终目标是基本上用一个选择器提示用户,让他们从像 DropBox 这样的外部应用程序中选择一个或多个 .csv 文件,或者通过文件资源管理器从他们自己的文件系统中选择一个或多个 .csv 文件。

    还是我的代码以某种方式错误?

    我该怎么办? Android 文档对此事没有提供任何帮助。

    编辑:我的模拟器手机是 Galaxy Nexus API 23 和 Nexus 5 API 22。我的实体手机是三星 Galaxy Note 4(版本 6.0.1)。

    最佳答案

    以下对我有用

    receiveIntent.setType("*/*");
    String[] mimetypes = {"text/csv", "text/comma-separated-values", "application/csv"};
    receiveIntent.putExtra(Intent.EXTRA_MIME_TYPES, mimetypes);

    关于android - 试图让用户将 .csv 文件导入我的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40044689/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com