2012-01-26 2 views
6

나는 스크린 샷을 찍은 앱을 공유 의도와 공유합니다. 사용자가 단순히 이미지를 공유하기를 원할 때마다 여러 개의 이미지를 저장하는 것이 아닙니다. 아래는 내가 단순히 같은 비트 맵을 저장하는 방법을 알아낼 질수 그러나 SDAndroid : 공유 비트 맵을 SD에 저장하지 않았습니다.

Intent share = new Intent(Intent.ACTION_SEND); 
share.setType("image/png"); 

dir = "file://" + Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "Folder/" + location; 
share.putExtra(Intent.EXTRA_STREAM, Uri.parse(dir)); 

startActivity(Intent.createChooser(share, "Share Image")); 

에 저장된 이미지에 사용되는 코드 ...

share.putExtra(Intent.EXTRA_STREAM, theBitmap); 

은하지 않고 할 수있는 방법이 있나요이다 이미지 저장?

감사합니다.

답변

4

내가 수행 한 작업은 "Temp"이미지를 SD/Phone에 저장하고 매번 덮어 쓰는 것뿐이었습니다. 이 하나를 사용

+0

이것은 내가 한 일이기도하지만 SD 카드를 사용할 필요가 없으며 외부 저장소 읽기/쓰기 권한을 요청할 필요가 없습니다. 내부 저장소로이를 수행하는 방법이있는 것 같습니다. – Suragch

+0

이 Q & A는 읽을만한 가치가 있습니다. http://stackoverflow.com/questions/9049143/android-share-intent-for-a-bitmap-is-it-possible-not-to-save-it-prior-sharing – Suragch

-1

예, 파일로 저장하지 않고 이미지를 보낼 수 있습니다.

나는 당신의 앱 또는 무엇을 통해 다른 사용자에게 이미지를 전송하면 잘 모릅니다
   ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
       byte[] data; 
       if(yourBitmap!=null){ 
       yourBitmap.compress(CompressFormat.PNG, 75, bos); 
       }else if (yourBitmap==null){ 
        Log.w("Image going to server is null","Lost in memory"); 
       } 
       try{ 
       data = bos.toByteArray(); 

하지만 : 코드 만보고에서 당신은 내가 당신의 이미지를 전송하는 방법을 몰라하지만 당신은 다음과 같이 파일을 변환 게시 내가 서버에 업로드하는 방법. 당신이 이미지로 끝낼 때 당신은 그것을 모두 무효로 만들 것입니다.

   bos = null; 
       data = null; 
       yourBitmap = null; 
+0

안녕하세요, share.putExtra (Intent.EXTRA_STREAM, Uri.parse (dir))와 관련하여 더 많은 문제가 있습니다. 우리? – Chris

+0

내가 작동하지 않는 것 같아요, share.putExtra (Intent.EXTRA_STREAM, 데이터) 시도했지만 아무것도 데이터가 null이 아닙니다. 어떤 아이디어? – Chris

+0

의도를 바이트 배열을 보내는 데 어떻게 사용하고 있습니까? 당신이 이해할 수없는 것들을 의도대로 넣고 자동으로 말하게합니다. 일반적으로 다른 활동을 시작하거나 서비스를 시작하기 위해 의도를 사용합니다. 나는 이메일이나 텍스트에 파일을 첨부하는 방법을 고려해야 할 것 같아요. 글을 읽은 후에 이미지를 만들고, 데이터에 참조를 사용하고, 참조를 첨부해야하는 것 같아서요. 그것을 의도에 적용한 다음 startActivity를 사용하십시오. 나는 그 순간에 문 밖으로 나가서 도움이되기를 바랍니다. –

1

보십시오 : 제가 내 응용 프로그램에서 사용하는 드로어 블을 보낼 수 있도록

Intent shareIntent = new Intent(); 
shareIntent.setAction(Intent.ACTION_SEND); 
Uri uri = Uri.parse("android.resource://com.your.app/drawable/" + yourimage); 
shareIntent.putExtra(Intent.EXTRA_STREAM, uri); 
shareIntent.putExtra(Intent.EXTRA_TEXT, shareImage); 
shareIntent.setType("image/*"); 
startActivity(Intent.createChooser(shareIntent, "Send your image")); 

이 코드는 잘 작동합니다. Sd 카드에 저장된 사진이 없습니다. 유일한 문제는 일부 소셜 앱에서 작동하지 않는다는 것입니다./

+0

그냥 앱에서 드로어 블을 가져 와서 도움이되기를 바랍니다. –

+0

하지만 앱으로 만드는 새로운 이미지에는 도움이되지 않습니다. – Suragch

관련 문제