Поделиться намерением Google+ не удается получить доступ к изображению

я вызываю намерение поделиться изображением. это работает с большинством провайдеров, НО с Google+. Google+ открывает сообщение действия без изображения и одновременно отображает всплывающее уведомление «Вы можете публиковать только фотографии, хранящиеся на вашем устройстве».

    File f = storeImage(image); // f = /data/data/com.myapp/files/1333070776978.jpg
    Uri uri = Uri.fromFile(f);

    Intent share = new Intent(Intent.ACTION_SEND);
    share.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 
    share.setType("image/jpeg");
    share.putExtra(Intent.EXTRA_STREAM, uri);
    share.putExtra(Intent.EXTRA_TITLE,"Share that title");
    share.putExtra(Intent.EXTRA_SUBJECT,"Share that subject");
    share.putExtra(Intent.EXTRA_TEXT,"Check that out...");
    share.putExtra("sms_body", "sms body");
    startActivity(Intent.createChooser(share, "Share Image"));

Я сохраняю изображение с помощью

    Context.openFileOutput(fileName, Context.MODE_WORLD_READABLE);

насколько я понимаю, установив FLAG_GRANT_READ_URI_PERMISSION, я даю Google+ специальный доступ к этот файл.

он работает, когда я сохраняю изображение в MediaStore, но на самом деле я не хочу загромождать галерею изображений пользователя.

    ContentValues values = new ContentValues(2);
    values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
    values.put(MediaStore.Images.Media.DATA, f.getAbsolutePath());
    Uri uri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);

любой совет приветствуется

Simon

14
задан matiash 9 June 2014 в 22:51
поделиться