gpt4 book ai didi

android - 如何使用 ShareCompat 共享多个文件

转载 作者:行者123 更新时间:2023-11-29 02:34:14 30 4
gpt4 key购买 nike

我的问题是如何在 android 中使用 ShareCompat intentBuilder 共享多个文件。

我的代码抛出异常:

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.SEND_MULTIPLE flg=0x80001 pkg=com.google.android.gm (has clip) (has extras) }

我的代码是:

 static void with(Activity activity, ArrayList<String> imageFile,String app){
ArrayList<Uri> imagesUri=new ArrayList<>();
for (String i:imageFile)
imagesUri.add(FileProvider.getUriForFile(
activity, FILES_AUTHORITY, new File(i)));

Intent shareIntent = ShareCompat.IntentBuilder.from(activity).getIntent();

shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM,imagesUri);
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

activity.startActivity(shareIntent);

}

是为每个应用程序(程序包名称)抛出错误。

最佳答案

以下对我有用:

ShareCompat.IntentBuilder shareIntent = ShareCompat.IntentBuilder.from(activity).setType("image/*");
for(String address : addresses ) {
File file = new File(address);
Uri imageUri = FileProvider.getUriForFile(
activity,
"app.signature.fileprovider",
file);
shareIntent.addStream(imageUri);
}
Intent intent=shareIntent.getIntent();
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(Intent.createChooser(intent, "Choose Application"));

您应该使用 addStream() 添加多个文件。

关于android - 如何使用 ShareCompat 共享多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47970266/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com