Поделитесь stegoimage с другим приложением с намерением (android)
У меня есть приложение для стеганографии изображений для android. Основные функции этого приложения хорошо работали, такие как кодирование, декодирование и сохранение изображений в памяти телефона.
Но я хочу, чтобы картинка, в которую было вставлено секретное сообщение, могла быть передана другим приложениям, таким как Whatsapp, Facebook, Twitter. После того, как я попытался сделать кнопку share и нажать на кнопку, Мне не дали выбрать приложение, где я буду делиться этими изображениями.
Однако меня направили на MMS-сообщение. хотя MMS-сообщение может работать хорошо, но я хочу иметь возможность выбрать приложение, в котором я буду делиться изображениями.
Вы можете помочь мне исправить код?
Спасибо!!
Что я уже пробовал:
This is a part of encoding code where assosiated with share button :
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(); } });
And this code for share method :
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")); } }