Я разрабатываю приложение, которое заполняет шаблон электронной почты и добавляет изображение. Я хочу использовать приложение следующим образом: из галереи, я делю изображение с моим приложением через ACTION_SEND. Мое приложение выполняет некоторую обработку, а затем делится электронной почтой с приложением.Устремление URI прямого изображения
Теперь я пытаюсь просто получить изображение Uri и передать его, но тогда я получаю SecurityException.
protected void onCreate(Bundle savedInstanceState) {
// Read the incoming intent
Intent intent = getIntent();
String action = intent.getAction();
String type = intent.getType();
Uri imageUri;
if (Intent.ACTION_SEND.equals(action) && type != null) {
if (type.startsWith("image/")) {
imageUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);
}
}
// Create the outgoing intent
Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.setType("message/rfc822");
if(imageUri != null){
emailIntent.putExtra(Intent.EXTRA_STREAM, imageUri);
}
startActivity(Intent.createChooser(emailIntent, getString(R.string.chooserText)));
}
Logging:
02-12 14:07:11.196 10241-10241/? E/ResolverActivity: Unable to launch as uid 10156 package ***, while running in android:ui
java.lang.SecurityException: Uid 10156 does not have permission to uri 0 @ content://com.google.android.apps.photos.contentprovider/0/1/content%3A%2F%2Fmedia%2Fexternal%2Fimages%2Fmedia%2F19546/FORMAT_JPEG/778368258
Что бы правильный способ сделать это? Я попытался установить флаги и разрешения, но я не могу найти, как это сделать.
Как вы добавили эти флаги и разрешения? Для какой версии API (мин и цель) вы разрабатываете? – kazbeel