相关疑难解决方法(0)

从搜索到的图像的内容URI获取绝对文件路径

我正在尝试使用隐式意图ACTION_SEND将其他应用程序中的图像共享到我的应用程序.

在从Chrome浏览器共享搜索图像时,应用会收到内容URI的意图,如下所示: content://com.android.chrome.FileProvider/images/screenshot/1457448067808912906311.jpg

如何从此类内容URI中获取文件路径?所有其他应用程序,如Facebook,Google +都在这样做.我正在使用FileChooser获取其他类型的内容URI的文件路径(例如,来自Gallery).

在没有太多帮助的情况下到处寻找.有人可以建议如何使用这些内容URI吗?

android uri filepath android-intent android-fileprovider

6
推荐指数
1
解决办法
3591
查看次数

onActivityResult 的 intent.getPath() 没有给我正确的文件名

我正在尝试以这种方式获取文件:

final Intent chooseFileIntent = new Intent(Intent.ACTION_GET_CONTENT);
    String[] mimetypes = {"application/pdf"};
    chooseFileIntent.setType("*/*");
    chooseFileIntent.addCategory(Intent.CATEGORY_OPENABLE);
    if (chooseFileIntent.resolveActivity(activity
                        .getApplicationContext().getPackageManager()) != null) {
        chooseFileIntent.putExtra(Intent.EXTRA_MIME_TYPES, mimetypes);
        activity.startActivityForResult(chooseFileIntent, Uploader.PDF);
    }
Run Code Online (Sandbox Code Playgroud)

然后在onActivityResult

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
}
Run Code Online (Sandbox Code Playgroud)

根据许多线程,我应该从意图中获取文件名 with data.getData().getPath(),我期望的文件名是my_file.pdf,但我得到的是:

/document/acc=1;doc=28

那么该怎么办?谢谢你的帮助。

android file

5
推荐指数
1
解决办法
3247
查看次数

Android-获取从文件资源管理器中选择的.txt文件的真实路径

我正在开发一个应用程序,我希望能够在该应用程序的.txt文件中导出和导入一些数据。该应用程序的最低API为21。

导出部分效果很好,但是导入部分遇到了麻烦。

我打开文件资源管理器:

butImportPatient.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View view) {
         Intent intent = new Intent();
         intent.setAction(Intent.ACTION_OPEN_DOCUMENT);
         intent.setType("*/*");
         startActivityForResult(intent, IMPORTPATIENT_ACTIVITY_REQUEST_CODE);
    }
});
Run Code Online (Sandbox Code Playgroud)

这看起来像在工作。

但是我的onActivityResult不起作用,我没有找到如何从Uri获取文件。

现在,这是我的代码:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

      if (requestCode == IMPORTPATIENT_ACTIVITY_REQUEST_CODE && resultCode == RESULT_OK) {
            File file = new File(data.getData().getPath()) ;
            String path = file.getAbsolutePath() ;
            StringBuilder text = new StringBuilder();

            try {
                BufferedReader br = new BufferedReader(new FileReader(path));
                String line;

                while ((line = br.readLine()) != null) {
                    text.append(line);
                    text.append("\n"); …
Run Code Online (Sandbox Code Playgroud)

java android file path android-activity

5
推荐指数
1
解决办法
3864
查看次数