【问题标题】:Android How do I get text type file's name and path from local device?Android 如何从本地设备获取文本类型文件的名称和路径?
【发布时间】:2017-10-08 06:42:47
【问题描述】:
search = (Button)findViewById(R.id.FindButton);
    search.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
            intent.setType("*/*");
            startActivityForResult(intent,1);
        }
    });

我使用 ACTION_GET_CONTENT 函数来获取文件名和本地路径。(setType 是 / 但我想获取 json 文件)

这是我的 onActivityResult

protected void onActivityResult(int requestCode, int resultCode, Intent data){
    super.onActivityResult(requestCode, resultCode, data);
    if(resultCode == 1){

    }
}

当我选择数据时,我会在其中输入什么代码?

【问题讨论】:

    标签: android android-intent path


    【解决方案1】:

    我使用 ACTION_GET_CONTENT 函数来获取文件名和本地路径

    ACTION_GET_CONTENT 与文件无关。

    当我选择数据时,我在里面放什么代码?

    欢迎您使用ContentResolver 到query() 作为OpenableColumns,它可以为您提供“显示名称”。这不一定是文件名,因为您处理的是内容,而不是文件。请参阅this sample app 以使用CursorLoader 获取OpenableColumns。

    但是,您无法获得“文件路径”,因为这不是文件。它是内容。您的问题类似于询问如何获取https://stackoverflow.com/questions/43878541/android-how-do-i-get-text-type-files-name-and-path-from-local-device 的文件路径。

    您可以使用ContentResolver 和openInputStream() 在Uri 标识的内容上获取InputStream。不错的 JSON 解析器(例如 Gson)接受 InputStream 并可以从那里解析 JSON。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-01
      • 2015-07-23
      • 2013-12-08
      • 2016-12-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-25
      • 1970-01-01
      相关资源
      最近更新 更多