2016-06-03 4 views
4

드로어 블 폴더에서 이미지를 공유하려고합니다. 그것은 전에는 작동했지만 지금은 어떤 이유로 든 공유하려고 할 때마다 그 사람을 공유 할 사람을 선택하고 "파일 형식이 지원되지 않습니다"라는 메시지를 나에게 줄 것입니다. 어떤 이유로 나는 Whatsapp와 공유 할 수 없지만 snapchat과 같은 다른 앱과 공유 할 수 있습니다. 그래서 나는 그것이 올바른 이미지를 얻고 있다는 것을 알고 있습니다. 여기 Android 공유 인 텐트 파일 형식이 지원되지 않음

Uri imageUri; 
imageUri = Uri.parse("android.resource://" + getPackageName() + "/drawable/" + "image" + String.valueOf(mViewPager.getCurrentItem() + 1)); 
//imageUri = Uri.parse("android.resource://" + getPackageName() + R.drawable.image1); 
Log.d("Sharing", "android.resource://" + getPackageName() + "/drawable/" + "image" + String.valueOf(mViewPager.getCurrentItem() + 1)); 
Intent sharingIntent = new Intent(Intent.ACTION_SEND); 
//sharingIntent.putExtra(Intent.EXTRA_TEXT, "Ha Ha! Check out this picure I got with todays date! Download the app: http://www.google.com"); 
sharingIntent.setType("image/jpg"); 
sharingIntent.putExtra(Intent.EXTRA_STREAM, imageUri); 
sharingIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 
startActivity(Intent.createChooser(sharingIntent, "Share via")); 

내가 로그에서 가져온 오류,하지만 난 공유 할 ArrayList를 사용하지 않는 오전 :

여기 내 공유 코드입니다.

W/Bundle: Key android.intent.extra.STREAM expected ArrayList but value was a android.net.Uri$StringUri. The default value <null> was returned. 

그리고 무엇 Log.d가 출력합니다 : 다음을 추가

D/Sharing: android.resource://com.trommelen.okke.scheurkalender/drawable/image155 
+0

해당 로그가 출력하는 내용을 공유하십시오. – Neil

+0

@Neil 로그를 추가했습니다. –

+0

감사하지만 실제로이 행을 의미했습니다. Log.d ("Sharing", "android.resource : //"+ getPackageName() + "/ drawable /"+ "image"+ String.valueOf (mViewPager.getCurrentItem() + 1))); – Neil

답변

1

내가 비트 맵을 추가하여이 문제를 해결하고 매니페스트

Bitmap imgBitmap=BitmapFactory.decodeResources(getResources(),R.drawable.image1); 
String imgBitmapPath=Images.Media.insertImage(getContentResolver(),imgBitmap,"title",null); 
Uri imgBitmapUri=Uri.parse(imgBitmapPath); 

에 권한 android.permission.WRITE_EXTERNAL_STORAGE를 추가 한 imgBitmapUri을 추가 스트림으로 사용하십시오.

+0

이 답변을 더 읽기 쉽게 만들 수 있습니다 (코드는이 형식으로보기가 좋지 않음). –

+0

이 컴파일됩니까? 나는 안드로이드 개발자가 아니지만'getContetResolver'는 틀린 것 같습니다. 마치'androi.permission'처럼. – Tunaki

+0

그래, 나는이 실수를 보지 못했고 방금 고쳤다. – m33th