如何发送具有意图的应用程序创建的图像

时间:2019-05-05 01:35:38

标签: java android android-intent bitmap

我试图将位图保存为png,但是当我尝试通过Messenger或其他任何应用程序发送位图时,却出现错误。

btn.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {

        Bitmap bmp = paintView.getBitmap();
        String filePath = getFilesDir().toString()+"/asd.png";

        try (FileOutputStream out = new FileOutputStream(filePath)) {
            bmp.compress(Bitmap.CompressFormat.PNG, 100, out);
        } catch (IOException e) {
            System.out.print(e.toString());
            return;
        }

        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_SEND);
        intent.putExtra(Intent.EXTRA_STREAM, filePath);
        intent.setType("image/png");
        startActivity(intent);
}});

1 个答案:

答案 0 :(得分:0)

我希望这会对您有所帮助。

发件人活动中

Intent intent = new Intent(this ,Next.class);
intent.putParcelableArrayListExtra("files", your_file);
startActivity(intent);

在接受活动时,

ArrayList<Parcelable> uris =
        getIntent().getParcelableArrayListExtra("files");
for (Parcelable p : uris) {
    Uri uri = (Uri) p;
}