Ответ 1
Вы используете тот же код, вы просто изменяете тип MIME для типа данных, которые хотите разделить. Если вы хотите поделиться чем-либо независимо от типа, используйте */*
Я хочу поделиться файлом (.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"));
Помогите решить эту проблему.
Вы используете тот же код, вы просто изменяете тип MIME для типа данных, которые хотите разделить. Если вы хотите поделиться чем-либо независимо от типа, используйте */*
Чтобы ваш код был прагматичным, используйте класс ShareCompat
:
ShareCompat.IntentBuilder.from(this)
.setStream(uri)
.setType(URLConnection.guessContentTypeFromName(file.getName()))
.startChooser();
Для 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