我创建了一个代码,生成一个JSON文件并保存在/data/data/path中,我想获得选中的文件并共享/导出。我试图使用意图,遵循代码:
@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"));