Как совместно использовать файл в андроиде

Я хочу поделиться файлом (.pdf,.apk и т.д.), используя share Intent, я искал google, но я нахожу только код для обмена Image

Intent sharingIntent = new Intent(Intent.ACTION_SEND);
Uri screenshotUri = Uri.parse(path);
sharingIntent.setType("image/png");
sharingIntent.putExtra(Intent.EXTRA_STREAM, screenshotUri);
startActivity(Intent.createChooser(sharingIntent, "Share image using"));

Помогите решить эту проблему.

Ответ 1

Вы используете тот же код, вы просто изменяете тип MIME для типа данных, которые хотите разделить. Если вы хотите поделиться чем-либо независимо от типа, используйте */*

Ответ 2

Чтобы ваш код был прагматичным, используйте класс ShareCompat:

ShareCompat.IntentBuilder.from(this)
        .setStream(uri)
        .setType(URLConnection.guessContentTypeFromName(file.getName()))
        .startChooser();

Ответ 3

Для SDK 24 и выше, если вам нужно получить Uri файла за пределами хранилища вашего приложения, у вас есть эта ошибка.

android.os.FileUriExposedException: file:///storage/emulated/0/MyApp/Camera_20180105_172234.jpg exposed beyond app through ClipData.Item.getUri()

чтобы это исправить: раскрывается вне приложения через ClipData.Item.getUri