Xamarin 在文件中以文本形式提供URL。您可以指定另一个应用程序的开发者,但不确定它是否足够好。我想说,如果你需要这个作为内部应用程序,你可以做任何你想做的事情,但对于生产应用程序,你需要平台特定的实现扫描我们去聊天室,这样我才能更好地了解你在做什么?我可以创建聊天

Xamarin 在文件中以文本形式提供URL。您可以指定另一个应用程序的开发者,但不确定它是否足够好。我想说,如果你需要这个作为内部应用程序,你可以做任何你想做的事情,但对于生产应用程序,你需要平台特定的实现扫描我们去聊天室,这样我才能更好地了解你在做什么?我可以创建聊天,xamarin,xamarin.ios,xamarin.forms,xamarin.uwp,Xamarin,Xamarin.ios,Xamarin.forms,Xamarin.uwp,在文件中以文本形式提供URL。您可以指定另一个应用程序的开发者,但不确定它是否足够好。我想说,如果你需要这个作为内部应用程序,你可以做任何你想做的事情,但对于生产应用程序,你需要平台特定的实现扫描我们去聊天室,这样我才能更好地了解你在做什么?我可以创建聊天室,你也可以创建聊天室你可以使用OnClose?当应用程序关闭时会发生这种情况,这可能是个好主意。你知道你要归还什么吗?(位图,base64字符串)自动取款机我很忙,所以帮不了你。如果你做了这个abgithub项目,我很乐意帮助你,因为这听起来



在文件中以文本形式提供URL。您可以指定另一个应用程序的开发者,但不确定它是否足够好。我想说,如果你需要这个作为内部应用程序,你可以做任何你想做的事情,但对于生产应用程序,你需要平台特定的实现扫描我们去聊天室,这样我才能更好地了解你在做什么?我可以创建聊天室,你也可以创建聊天室你可以使用OnClose?当应用程序关闭时会发生这种情况,这可能是个好主意。你知道你要归还什么吗?(位图,base64字符串)自动取款机我很忙,所以帮不了你。如果你做了这个abgithub项目,我很乐意帮助你,因为这听起来很有趣,而且我在Xamarin yetIt中没有看到过一些东西,似乎你无论如何都需要依赖于平台的实现。您是否同意在不同的平台上以不同的方式实现此功能?另一个不太优雅的选择是使用跨平台文件存储,并在文件中以文本形式提供URL。您可以指定另一个应用程序的开发者,但不确定它是否足够好。我想说,如果你需要这个作为内部应用程序,你可以做任何你想做的事情,但对于生产应用程序,你需要平台特定的实现扫描我们去聊天室,这样我才能更好地了解你在做什么?我可以创建聊天室,你也可以创建聊天室我知道这是我的解释,我理解,但我想做的只是允许用户从列表中选择一个图像,并将结果(Url)返回给调用者,这可能是另一个应用程序,或是一个网页,您可以在其中上载图像。我让应用程序启动右边的部分,填充列表,用户可以选择图像,意图工作正常,数据存在,是实际将数据传回(如使用上述可能的部分解决方案)让我感到痛苦,这是最重要的一部分。@ShaineFisher要求一种特殊的处理方法是合法的,但就我所见,我上面解释的替代方法没有什么是你做不到的。我不是Xamarin.Forms方面的专家(我使用Xamarin.iOS和Xamarin的其他原生形式),但我想我可以说,你无法在iOS中以原生方式执行你想要的操作,因此Xamarin.Forms也很可能不支持这一点。感谢你的回答,看起来这完全是浪费了很多时间,我现在必须重写整个应用程序,因为只有一点功能是不存在的,我希望有人会有一个可行的答案,或者一个涵盖这类事情的插件,我的意思是它看起来像一个核心功能,真的,获取数据,再次分发数据。“我要在这里尖叫一会儿。”ShaineFisher,一般来说,在现代语言中,有一种叫做数据、业务逻辑和用户界面分离原则的东西。你的要求似乎违反了这一原则,可能这就是为什么它不受支持。@hvaughan3我也有这种情况:)。我知道这是我的解释,我理解,但我想做的只是允许用户从列表中选择一个图像并将结果(Url)返回给调用者,这可能是另一个应用程序,或者一个网页,你想上传一张图片。我让应用程序启动右边的部分,填充列表,用户可以选择图像,意图工作正常,数据存在,是实际将数据传回(如使用上述可能的部分解决方案)让我感到痛苦,这是最重要的一部分。@ShaineFisher要求一种特殊的处理方法是合法的,但就我所见,我上面解释的替代方法没有什么是你做不到的。我不是Xamarin.Forms方面的专家(我使用Xamarin.iOS和Xamarin的其他原生形式),但我想我可以说,你无法在iOS中以原生方式执行你想要的操作,因此Xamarin.Forms也很可能不支持这一点。感谢你的回答,看起来这完全是浪费了很多时间,我现在必须重写整个应用程序,因为只有一点功能是不存在的,我希望有人会有一个可行的答案,或者一个涵盖这类事情的插件,我的意思是它看起来像一个核心功能,真的,获取数据,再次分发数据。“我要在这里尖叫一会儿。”ShaineFisher,一般来说,在现代语言中,有一种叫做数据、业务逻辑和用户界面分离原则的东西。你所要求的感觉像是打破了这个原则,可能这就是为什么它不被支持的原因。@hvaughan3我也是这样:)。你是一个明星,这个答案远远超出了问题的要求,完美地解决了问题,谢谢。欢迎你。为了完整性,我想提到的是,您可以实现一个像void ImageSelected(stringuri)这样的接口,并使用依赖项服务从PCL调用它,但这需要找到实现中的主要活动,以在其上调用cal函数。如果有人强烈不喜欢MessagingCenter(我知道有这样的人),可以使用这个界面。我将把这段代码带到我的下一个项目中,很遗憾Android.Net有我的错误,因为我需要升级一些Nuget软件包,但进展不顺利。我无法在同一个版本上获取所有项目,并且Android项目和PCL中的引用不一致,因此我最终会追查错误。看起来事情还不尽善尽美,但我看到的一些事情给我留下了深刻的印象。再次感谢您的帮助。我刚刚发布了一个后续问题,如果您在,请稍等。您是一位明星,这个答案远远超出了问题的要求,完美地解决了问题,谢谢。欢迎您。为了完整起见,我想提到的是,您可以实现像void ImageSelected(stringuri)这样的接口,并使用依赖项服务从PCL调用它,但这需要在impleme中找到主要活动
Intent result = new Intent("com.example.RESULT_ACTION", Uri.parse("content://result_url"));
setResult(Activity.RESULT_OK, result);
finish();
[Activity(Label = "", Icon = "@drawable/icon", Theme = "@style/DefaultTheme", MainLauncher = true, LaunchMode = LaunchMode.SingleTop,
          ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
[IntentFilter(new[] { Intent.ActionSend }, Categories = new[] { Intent.CategoryDefault }, DataMimeType = @"*/*")]
[IntentFilter(new[] { Intent.ActionView, Intent.ActionPick, Intent.ActionGetContent }, Categories = new[] { Intent.CategoryDefault, Intent.CategoryOpenable }, DataMimeType = @"*/*")]
public class MainActivity : FormsAppCompatActivity
{
    protected override void OnCreate(Bundle bundle)
    {
        try
        {
            base.OnCreate(bundle);

            CurrentPlatform.Init();
            Xamarin.Forms.Forms.Init(this, bundle);

            App _app = new App();
            LoadApplication(_app);

            if (Intent.Action == Intent.ActionSend)
            {
                var image = Intent.ClipData.GetItemAt(0);
                var imageStream = ContentResolver.OpenInputStream(image.Uri);
                var memOfImage = new System.IO.MemoryStream();
                imageStream.CopyTo(memOfImage);
                _app.UploadManager(memOfImage.ToArray());  //This allows me to upload images to my app
            }
            else if (Intent.Action == Intent.ActionPick)
            {
                _app.SelectManager(); //here is where I need help
            }
            else
            {
                _app.AuthManager(); //this is the default route
            }
        }
        catch (Exception e)
        {
        }
    }
public static class StaticClass
{
     public static int Result;
}
        Xamarin.Forms.MessagingCenter.Subscribe<ReturnImagePage, string>(this, "imageUri", (sender, requestedUri) => {

            Intent share = new Intent();
            string uri = "file://" + requestedUri;
            share.SetData(Android.Net.Uri.Parse(uri));

            // OR
            //Android.Net.Uri uri = Android.Net.Uri.Parse(requestedUri);
            //Intent share = new Intent(Intent.ActionSend);
            //share.PutExtra(Intent.ExtraStream, uri);
            //share.SetType("image/*");
            //share.AddFlags(ActivityFlags.GrantReadUriPermission);

            SetResult(Result.Ok, share);
            Finish();
        });
MessagingCenter.Send<ReturnImagePage, string>(this, "imageUri", "/storage/emulated/0/Android/data/ButtonRendererDemo.Droid/files/Pictures/temp/IMG_20170207_174559_21.jpg");