Environment.getExternalStoragePublicDirectory ( Environment.DIRECTORY_PICTURES)를 사용하여 이미지를 저장할 폴더를 찾는 앱을 작성했습니다. 그런 다음 jpg를 해당 폴더에 쓴 다음 사용자가 전자 메일, SMS, Facebook ... 또는 전화가 설정된 응용 프로그램을 허용하도록 다음 코드를 사용합니다.이미지를 Android 내부 메모리에 저장하고 인 텐트를 사용하여 이메일로 보내기
Intent i = new Intent(Intent.ACTION_SEND);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.setType("image/jpg");
File shareImg = new File(fileName);
i.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(shareImg));
startActivity(i);
이 코드는 테스트 한 장치에서 정상적으로 작동합니다. 이제 SD 카드가없는 사용자는이 코드를 사용할 수 없다는 사실을 알게되었습니다. 그래서 이미지를 내부 메모리에 쓰려고했습니다. 내 apps 폴더에 이미지를 쓰고 Context.MODE_WORLD_READABLE로 액세스를 설정할 수 있었지만 의도, GMail, SMS 또는 다른지도를 실행하면 이미지 첨부가 불가능하다는 메시지가 나타납니다. . 문제는 이미지가 장치의 실제 "그림"폴더에 없지만 내부 저장 장치의 Environment.getExternalStoragePublicDirectory ( Environment.DIRECTORY_PICTURES)와 동일한 라우팅을 찾을 수 없다고 생각했습니다. 다른 누구도 이런 식으로 할 수 있었습니까? 당신은뿐만 아니라 자신의 대답을 받아 들여야 -
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)
한 솔루션과 함께 다음과 같은 사항에 대해 :
대신 : –