public static void grantReadPermission(Intent intent, List<Uri> uris, Context context) {
        if (uris == null || uris.size() == 0) return;
        ContentResolver resolver = context.getContentResolver();
        intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
        ClipData clipData = ClipData.newUri(resolver, CLIP_DATA_LABEL, uris.get(0));
        for (int i = 1; i < uris.size(); i++) {
            clipData.addItem(new ClipData.Item(uris.get(i)));
        }
        intent.setClipData(clipData);
    }
Grant the read permission to a list of {@link Uri} sent through a {@link Intent}.
@param intent The sending Intent which holds a list of Uri.
@param uris A list of Uri generated by generateUri(Context, Bitmap, String, int,
            List<String>).
@param context The context requests to grant the permission.
customtabs/src/android/support/customtabs/browseractions/BrowserServiceFileProvider.java