0
我的應用程序中有大約10張圖像,並且它們都是可繪製的resours,而不是從服務器下載。通過保存在內部存儲器中共享來自drawable的圖像
我需要分享此圖像。
我有這樣的解決方案:將drawable轉換爲文件,保存並從文件夾共享文件。
Everething可以與外部存儲,當我有一張SD卡。但是當我使用Nexus 5時(內部存儲),由於格式不正常,它會保存一些文件,但不共享它。
請幫助我與內部存儲或與drawable共享。
private void shareit()
{
Bitmap icon = BitmapFactory.decodeResource(getResources(), R.drawable.son);
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("image/jpeg");
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
icon.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
File f;
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
// We can read and write the media
f=new File(Environment.getExternalStorageDirectory() + File.separator + "son.jpg");
}
else{
f = new File(getActivity().getApplicationContext().getCacheDir(), "son.jpg");
if(f.exists()){
Log.i("imageExistsInternal", "file is complete");
}
}
if(!f.exists())
f.mkdir();
share.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(f));
startActivity(Intent.createChooser(share, "Share Image"));
}
在共享圖像的多個問題。所有在這裏固定。閱讀問題,回答和談話。 http://stackoverflow.com/questions/27101881/how-to-always-save-image-with-new-name-and-delete-previouse-one-android – hasan83
試圖使用,但它只適用於外部存儲 – tadvas