Eclipse:使用Intent将stegano图像共享给另一个应用程序

时间:2016-11-26 19:20:20

标签: java android eclipse android-intent steganography

我有Android的图像隐写应用程序。此应用程序的主要功能运行良好,如编码,解码和保存手机存储中的图像。

但是,我想要一张已插入秘密消息的图片可以与Whatsapp,Facebook,Twitter等其他应用共享。在我尝试创建共享按钮并单击按钮后,我没有给出选择应用程序,我将分享这些图像。

然而,我被引导到MMS消息。虽然MMS消息可以很好地工作,但我希望能够选择我将分享图像的应用程序。

这是与分享按钮相关的编码代码的一部分:

    Button buttonShare = (Button) findViewById(R.id.share);
    buttonShare.setOnClickListener(new Button.OnClickListener() {

        public void onClick(View v) {

            closeContextMenu();
            closeOptionsMenu();
            progressBar=new MobiProgressBar(EncodeActivity.this);
            progressBar.setMax(100);
            progressBar.setMessage(context.getString(R.string.encoding));
            progressBar.show();
            Thread tt = new Thread(new Runnable() {
                public void run() {
                    Uri uri= encode();                      
                    ShareIntent share=new ShareIntent(uri,EncodeActivity.this);
                    progressBar.dismiss();
                    share.send();
                }
            });
            tt.start();
        }
    });

这个共享方法的代码:

import android.content.Context;
import android.content.Intent;
import android.net.Uri;

public class ShareIntent {
private Uri uri;    
private final Context context;

public Uri getUri() {
    return uri;
}

public void setUri(Uri uri) {
    this.uri = uri;
}   

public ShareIntent(Uri uri,Context context) {       
    this.uri = uri;
    this.context=context;
}

public void send()
{
    Intent shareIntent = new Intent(Intent.ACTION_SEND);
    shareIntent.putExtra(Intent.EXTRA_STREAM,uri);
    shareIntent.setType("image/jpeg");
    context.startActivity(Intent.createChooser(shareIntent, "Share Image"));
}
}

谢谢!

0 个答案:

没有答案