带有意图的Android应用程序

时间:2014-03-10 13:06:06

标签: android

我正在尝试使用Intent来共享SD卡中的图像。但我的分享按钮有问题:它说:

  

没有应用可以执行此操作

那么,我必须使用哪种类型的代码来共享图像?我希望,也许有可能将我的图像作为电子邮件或消息发送。希望有人可以帮助我。

2 个答案:

答案 0 :(得分:0)

首先,您需要将图像存储在存储中 像这样

 Bitmap icon = mBitmap;
    Intent share = new Intent(Intent.ACTION_SEND);
    share.setType("image/jpeg");
    ByteArrayOutputStream bytes = new ByteArrayOutputStream();
    icon.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
    File f = new File(Environment.getExternalStorageDirectory() + File.separator + "temporary_file.jpg");
    try {
        f.createNewFile();
        FileOutputStream fo = new FileOutputStream(f);
        fo.write(bytes.toByteArray());
    } catch (IOException e) {                       
            e.printStackTrace();
    }

然后你可以这样分享

 share.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///sdcard/temporary_file.jpg"));
    startActivity(Intent.createChooser(share, "Share Image"));

答案 1 :(得分:0)

“没有应用可以执行此操作”,因为您的设备中没有安装共享应用程序。在你的真实设备中安装一些第三方应用程序,如facebook,whats app,gmail ......并运行你的应用程序来共享图像。

并开始如下活动:

share.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///sdcard/temporary_file.jpg"));
startActivity(Intent.createChooser(share, "Share Image"));