【问题标题】:Upload to parse csv file [duplicate]上传以解析csv文件[重复]
【发布时间】:2018-01-30 06:56:10
【问题描述】:

Android 是否有任何方法可以使用 Intent 从 SD 卡中浏览和选择 csv 文件? 我试过了:

Intent mediaIntent = new Intent(Intent.ACTION_GET_CONTENT);
mediaIntent.setType("text/comma-separated-values/csv");
startActivityForResult(mediaIntent, REQUEST_CODE_CSV);

但它让我选择任何类型的文件并返回所选文件的路径。我想限制用户只选择 csv 文件(即在文件浏览器中只显示 csv 文件而不显示其他文件)。

【问题讨论】:

  • @WaelDalloul 它可能看起来是重复的,但我已经明确表示“它让我选择任何类型的文件”& 所提供链接的接受答案也是如此。

标签: android android-intent


【解决方案1】:

为 Intent 设置 MIME 类型,这将改变共享 Intent 的行为。

    Intent mediaIntent = new Intent(Intent.ACTION_GET_CONTENT);
    mediaIntent.addCategory(Intent.CATEGORY_OPENABLE);
    mediaIntent.setType("text/csv");
    startActivityForResult(Intent.createChooser(mediaIntent, "CSV FILE"), REQUEST_CODE_CSV);

【讨论】:

  • 我已经提到文件选择器允许选择任何类型的文件。这段代码也是如此。
【解决方案2】:
File file = new File(Environment.getExternalStorageDirectory(),
                     "Report.pdf");
Uri path = Uri.fromFile(file);
Intent pdfOpenintent = new Intent(Intent.ACTION_VIEW);
pdfOpenintent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
pdfOpenintent.setDataAndType(path, "application/pdf");
try {
    startActivity(pdfOpenintent);
}
catch (ActivityNotFoundException e) {

}

【讨论】:

    猜你喜欢
    • 2013-02-19
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-28
    • 2014-07-02
    • 2016-07-04
    相关资源
    最近更新 更多