@cstewart Why are we granting URI permission to all resolving activities via the following code block?
List<ResolveInfo> cameraActivities = getActivity().getPackageManager()
.queryIntentActivities(captureImage, PackageManager.MATCH_DEFAULT_ONLY);
for (ResolveInfo activity : cameraActivities) {
getActivity().grantUriPermission(activity.activityInfo.packageName, uri, Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
}
Is it make for a flexible app? i.e., to facilitate users select from their list of camera apps that they best feel would capture the image (perhaps one with custom filters, shaders, stickers, etc…,)?
I used the below code to pass uri permissions to the first activity from the list:
String packageName = packageManager.resolveActivity(
captureImage,
PackageManager.MATCH_DEFAULT_ONLY
).activityInfo.packageName;
getActivity().grantUriPermission(
packageName,
uri,
Intent.FLAG_GRANT_WRITE_URI_PERMISSION
);