android - Xamarin Android 应用响应 'Share To' 请求

标签 android visual-studio xamarin xamarin.android

我已经开发了一个 Android 应用程序,运行得非常好,我的深度链接和从文件系统打开按预期工作。然而,今天下午我发现了一些奇怪的事情,我需要你的帮助。

如果我点击我网站上的链接,该应用程序可用于打开它,按预期工作。如果我在手机上进入画廊并“打开”图片,我可以选择我的应用程序来接收它,这也能正常工作。但今天我注意到 Google 相册不允许我这样做,它要求我“分享”图像,这是我的小问题所在。

如何设置我的应用程序以接收来自 Google 相册的图片? Intent 过滤器应该是什么?

最佳答案

您必须注册您的应用才能分享 Intent 。完成后,当您单击共享图标时,操作系统会在列表中列出您的应用

将以下内容添加到您要接收图像的 Activity 中

[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 方法中检查 Intent :

if (Intent.Action == Intent.ActionSend)
{
    if(Intent.Extras.ContainsKey(Intent.ExtraStream)){
            Uri fileUrl =(Android.Net.Uri)Intent.Extras.GetParcelable(Intent.ExtraStream));
        }
}

从 Uri 您可以访问文件系统中的图像。

关于android - Xamarin Android 应用响应 'Share To' 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48508945/

相关文章:

java - SQLite 给出 NullPointerException

visual-studio - 每次运行我的测试解决方案时,Visual Studio 2013 都会崩溃并重新启动

android - 无法运行 aapt dump badging - Google Play 商店

c++ - Unresolved external symbol 错误是什么意思?

visual-studio - 可以创建输出类型为 "none"的 Visual Studio 项目吗?

cross-platform - PCL将镜像文件保存到本地文件系统

iphone - 单色触摸 : Build iOS app with mdtool from command line: Multiple provisioning profiles

带有另一张图像的 Xamarin iOS 事件指示器

android - 在 Android 中将 PHP echo 读入字符串

java - 如何在 Java/Android 中解析 SVG?