java - 如何在 Java Android 中共享/导出 JSON 文件

标签 java android json android-studio mobile

我创建了一个生成 JSON 文件并保存在/data/data/路径中的代码,我想获取所选文件并共享/导出。我正在尝试使用 Intent,请按照代码操作:

@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
        File fileItem = itens.get(position);

        holder.textFileName.setText(fileItem.getName());

        holder.shareImage.setOnClickListener(v ->  {
            Intent intent = new Intent(Intent.ACTION_SEND);
            intent.setType("application/json");
            intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:/" + fileItem));

            context.startActivity(Intent.createChooser(intent, "Compartilhar log de auditoria"));
        });

    }

但是,当我选择像文件管理器一样保存媒体并选择文件夹时,显示“路径不正确”,并且在所有应用程序中都显示附件不兼容。救命!

OBS:我正在RecyclerView类中实现代码

最佳答案

在 @CommonsWare 发表评论后,我使用了 FileProvider,现在我可以共享/导出 JSON 文件,请按照工作代码操作:

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("application/json");

Uri uri = FileProvider.getUriForFile(context, BuildConfig.APPLICATION_ID, fileItem);

intent.putExtra(Intent.EXTRA_STREAM, uri);

context.startActivity(Intent.createChooser(intent, "Exportar arquivo de Log de Auditoria"));

关于java - 如何在 Java Android 中共享/导出 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71931314/

相关文章:

json - 如何使用 gin gonic 在 Go 中上传多部分文件和 json?

javascript - 修改JSON数据

java - ConversionServiceFactoryBean 不起作用

java - J2ObjC - 安卓库

java - 复杂类的 Sql select

android - 寻找在Win/Linux/MacOSX/Android/IOS上进行跨平台开发的OpenGL ES框架

java - MainActivity.DownloadWebpageTask 不是抽象的,不会覆盖 AsyncTask 中的抽象方法 doInBackground(String...)

java - 如何在Java中找到今天之前3个月的开始时间?

android - Google Play,IntelliJ 中的 Drive API 示例代码

python - 高效循环大型 JSON 文件