有没有办法解决“上传到照片”的大小限制

时间:2018-12-31 18:45:26

标签: android android-intent google-photos

我正在使用此代码共享图像集合:

final ArrayList<Uri> imageUris = new ArrayList<>();
for (final ImageBean selectedImage : ImageBean.getSelectedImageBeans(imagesBeans)) {
    final File imageFile = new File(selectedImage.getPathToImage().getPath());
    final Uri contentProviderUri = FileProvider.getUriForFile(context, BuildConfig.APPLICATION_ID + ".provider", imageFile);
    imageUris.add(contentProviderUri);
}
final Intent shareIntent = new Intent();
shareIntent.setType("image/*");
if (imageUris.size() == 1) {
    shareIntent.setAction(Intent.ACTION_SEND);
    shareIntent.putExtra(Intent.EXTRA_STREAM, imageUris.get(0));
} else {
    shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
    shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imageUris);
}
context.startActivity(Intent.createChooser(shareIntent, context.getResources().getText(R.string.share_images_intent)));

我主要有兴趣上传到Google相册。这对于600KB的图像非常有用,但对于5 MB的图像(我的相机为24MP)失败。因此,显然存在大小限制,但是由于Google Photos活动中发生了错误,因此我无法对其进行调试(或者我对Android Studio的操作方法不够了解)。

有没有一种方法可以更改我的Intent,以便我可以上传多个24MP图像,或者是否指定了大小限制,并且需要解决(例如,通过实现Google Photos API)?

1 个答案:

答案 0 :(得分:0)

事实证明Google相册不能与FileProvider一起很好地使用。使用公共内容URI 进行上传时,可以使用类似的

int mediaId = cursor.getInt(getColumnIndexForMediaID());
Uri publicUri = Uri.withAppendedPath(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, Integer.toString(mediaId));

现在我回到Can't edit image in Google Photos after "Upload to Photos" activity