在whatsapp中共享图像和文本

时间:2017-11-20 13:40:45

标签: java android whatsapp

我正在尝试通过我的应用程序在whatsapp中共享文本+图像。 但我无法共享图像只有文本共享。图像区域显示为空白 这是我的代码

Uri uri = Uri.fromFile(new File(fname));
Intent share = new Intent();
share.setAction(Intent.ACTION_SEND);
share.setPackage("com.whatsapp");
share.putExtra(Intent.EXTRA_TEXT,ci.description);
share.putExtra(Intent.EXTRA_STREAM,uri);
share.setType("image/*");
share.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
try {
   context.startActivity(share);
}catch (Exception what){
    Toast.makeText(context,"Whatsapp have not been installed",Toast.LENGTH_LONG).show();
}

这是我的截图

enter image description here

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

你的URI可能有问题。试试这个答案

意图代码:

                Intent i = new Intent(Intent.ACTION_SEND);
                    i.setPackage("com.whatsapp");
                    i.setType("image/*");
                    i.putExtra(Intent.EXTRA_STREAM, getLocalBitmapUri(context, bitmap, id));
                    i.putExtra(Intent.EXTRA_TEXT, text);
                    context.startActivity(Intent.createChooser(i, "Share News"));

位图到URI代码:(如果文件URI跳过这个)

public Uri getLocalBitmapUri(Context context, Bitmap bmp, String id) {
    Uri bmpUri = null;
    try {
        if (id == null) {
            id = String.valueOf(System.currentTimeMillis());

        }
        File file = new File(context.getExternalFilesDir(Environment.DIRECTORY_PICTURES), "share_image_" + id + ".png");
        FileOutputStream out = new FileOutputStream(file);
        bmp.compress(Bitmap.CompressFormat.PNG, 90, out);
        out.close();
        bmpUri = Uri.fromFile(file);
    } catch (Exception e) {
        Log.e(TAG, "getLocalBitmapUri: ", e);
    }
    return bmpUri;
}