通过使用Intent将Animate Gif共享到Twitter时,Twitter使其成为静态图像(Android)

时间:2016-09-01 04:29:54

标签: java android

当我使用Intent向Twitter分享动画gif时,Twitter会将其设为静态图像。

它可以与Facebook Messenger分享。

How to create an animated GIF from JPEGs in Android (development)

我使用这个类来创建动画gif。 任何人都可以帮助我吗?

以下是我的代码。

public byte[] generateGIF(ArrayList<Bitmap> bitmaps) {
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    AnimatedGifEncoder encoder = new AnimatedGifEncoder();
    encoder.start(bos);
    for (Bitmap bitmap : bitmaps) {
        encoder.addFrame(bitmap);
    }
    encoder.finish();
    return bos.toByteArray();
}


private void shareGif (byte[] bytes,String fileName) {

    try {
        File file = new File(getApplicationContext().getCacheDir(), fileName + ".gif");

        FileOutputStream fOut = new FileOutputStream(file);
        fOut.write(bytes);
        fOut.close();

        file.setReadable(true, false);
        final Intent intent = new Intent(android.content.Intent.ACTION_SEND);
        intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));
        intent.setType("image/gif");
        startActivity(Intent.createChooser(intent , "Send image using.."));
    } catch (Exception e) {
        e.printStackTrace();
    }
}

0 个答案:

没有答案