我将使用Android的默认共享意图与其他应用程序共享图像。但我想添加一个选项,例如
目前,我正在使用简单的代码来共享图像:
当我尝试从个人资料图片中使用WhatsApp的分享按钮时,出现了一个“
保存到相册
,该选项可以直接将该图像保存到媒体库、图像文件夹或我的应用文件夹中。目前,我正在使用简单的代码来共享图像:
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));
shareIntent.setType("image/jpeg");
startActivity(Intent.createChooser(shareIntent, "Share to"));
当我尝试从个人资料图片中使用WhatsApp的分享按钮时,出现了一个“
保存到相册
”选项。现在,我知道这不是Android预先构建的。这是WhatsApp添加的手动操作,某种程度上将图像保存到特定路径。长按“保存到相册
”按钮会显示该操作属于WhatsApp应用程序。因此,这意味着WhatsApp已经为其编写了一些逻辑。它是带有附加自定义操作“保存到相册
”的相同默认ACTION_SEND
意图和image/*
MIME类型。
这很好。我也想为我的应用程序添加这种逻辑。我可以注册<intent-filter>
来处理此操作,但它将全局接受来自任何应用程序的任何图像以便保存到相册。
我该如何添加手动操作以供我的分享意图或<intent-filter>
活动使用,使其仅针对我的应用程序(只对我的应用程序可见),并达到将图像保存到相册的目的?