Use ShareCompat.IntentBuilder to share an attachment

This way the share sheet will show a preview when sharing images.
This commit is contained in:
cketti
2022-11-05 20:59:16 +01:00
parent 394ee99b56
commit eb9b0ed10a
2 changed files with 12 additions and 12 deletions

View File

@@ -41,6 +41,7 @@ import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.core.app.ShareCompat;
import androidx.core.content.FileProvider;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.Lifecycle;
@@ -271,12 +272,10 @@ public class AdapterAttachment extends RecyclerView.Adapter<AdapterAttachment.Vi
Uri uri = FileProvider.getUriForFile(context, BuildConfig.APPLICATION_ID, file);
// TODO: consider using getUriForFile(..., displayName)
Intent send = new Intent();
send.setAction(Intent.ACTION_SEND);
send.putExtra(Intent.EXTRA_STREAM, uri);
send.setType(attachment.getMimeType());
send.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
context.startActivity(Intent.createChooser(send, context.getString(R.string.title_select_app)));
new ShareCompat.IntentBuilder(context)
.setType(attachment.getMimeType())
.addStream(uri)
.startChooser();
return true;
} catch (Throwable ex) {