我开发了一个Android应用程序,运行良好,我的深度链接和从文件系统打开按预期工作。然而,今天下午我发现了一些古怪的事情,我需要你的帮助。
如果我单击我网站上的链接,该应用程序可用于打开它,按预期工作。如果我在手机上进入图库并"打开"图片,我可以选择我的应用程序来接收它,这也可以正常工作。但是今天我注意到Google相册不允许我这样做,它要求我"共享"图像,这就是我非常小的问题所在。
如何设置我的应用以便能够接收来自 Google 相册的图像?意图过滤器应该是什么?
必须注册应用才能实现共享意图。完成后,当您单击共享图标时,操作系统将在列表中列出您的应用程序
将以下内容添加到要接收图像的活动
[IntentFilter(new[]{Intent.ActionSend},Categories = new[]{Intent.CategoryDefault},DataMimeType = "image/*",Label = "Your application name")]
例如:
[Activity(Label = "Your activity name"]
[IntentFilter(new[]{Intent.ActionSend}, Categories = new[]{Intent.CategoryDefault}, DataMimeType = "image/*",Label = "activity label")]
public class YourActivity: Activity
{
在 OnCreate 方法中,检查意图:
if (Intent.Action == Intent.ActionSend)
{
if(Intent.Extras.ContainsKey(Intent.ExtraStream)){
Uri fileUrl =(Android.Net.Uri)Intent.Extras.GetParcelable(Intent.ExtraStream));
}
}
从 Uri 可以访问文件系统中的映像。