Доля Android для MP4 работает только для Facebook Messenger, но не для других приложений.

У меня есть несколько файлов .mp4 в папке /raw, которыми я хочу поделиться с Android Share. Следующий код работает с Facebook Messenger (видео отправляется), но не работает с другими приложениями, такими как WhatsApp, Gmail, Facebook и т. д.

Я получил следующий код:

    String path = "android.resource://com.my.package/raw/" + "name_mp4";
    Intent share = new Intent(Intent.ACTION_SEND);
    share.setType("video/mp4");
    share.putExtra(Intent.EXTRA_STREAM,Uri.parse(path) );
    startActivity(share);

Что я делаю не так? Почему это не работает для других приложений?


person Harrienak    schedule 17.06.2015    source источник
comment
Посмотрите, поможет ли вам этот ответ stackoverflow.com/a/22667585/1064310   -  person Tristan Wiley    schedule 17.06.2015


Ответы (1)


Что я делаю не так?

Немногие приложения будут знать, что делать с android.resource Uri. В основном это будут те, кто проедет прямо к openInputStream() на ContentResolver. Эта схема используется очень редко.

Если вы хотите улучшить совместимость, используйте content:// или file:// Uri, указывая на ContentProvider или файл во внешнем хранилище соответственно.

person CommonsWare    schedule 17.06.2015