2015-09-11 4 views
1

У меня есть здоровый рабочий код для совместного использования одного изображения из внутренней памяти моего приложения, используя FileProvider объект, указанный в библиотеке android-support-v4.jar.Доля нескольких изображений из внутренней памяти приложения

Вот фрагмент кода

Uri uri = FileProvider.getUriForFile(MSafeGalleryActivity.this, "com.packagename.fileprovider", file); 
final Intent intent = ShareCompat.IntentBuilder.from(SafeGalleryActivity.this) 
     .setType("image/jpeg") 
     .setStream(uri) 
     .setChooserTitle("Share with") 
     .createChooserIntent() 
     .addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET) 
     .addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 

startActivity(intent); 

Если вы видите код он принимает только один URI в setStream() метода. Итак, пожалуйста, вы можете помочь мне здесь, чтобы поделиться несколькими изображениями из внутренней памяти моего приложения.

ответ

0

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

ArrayList<Uri> imageUris = new ArrayList<>(); 
// Put your file uri in imageUris 
// ... 
// Create intent 
Intent shareIntent = new Intent(Intent.ACTION_SEND_MULTIPLE); 
shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imageUris); 
shareIntent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true); 
// Grant permission to read files 
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 
shareIntent.setType("image/*"); 
// Start chooser activity 
startActivity(Intent.createChooser(shareIntent, getString(R.string.share_send)))