4

我是 Xamarin 的初学者,尝试使用 Xamarin.forms 创建简单的应用程序。现在我需要在我的应用程序中添加共享按钮(如 iPhone 上的 Safari 上的方形 + 箭头)。我知道 Android 和 IOS 是不同的,所以我使用 DependencyService。它在使用 Intent 的 Android 上运行良好,但不能在 IOS 上运行。你能帮我吗。谢谢大家, 这是我的代码

PCL

    var x = DependencyService.Get<IShareable>(); 
    x.ShareText("any text to share"); 

安卓

public void ShareText(string textToShear) 
{
  var myIntent = new Intent(Android.Content.Intent.ActionSend);      
  myIntent.SetType("text/plain"); 
  myIntent.PutExtra("sms_body", textToShear); 
  Forms.Context.StartActivity(Intent.CreateChooser(myIntent,"Choose an App"));
}

IOS

public void ShareText(string textToShear) 
{
 //what i should do 
} 
4

2 回答 2

2

你想使用UIActivityViewController

它看起来像这样:

public void ShareText(string textToShare) 
{
    var activityController = new UIActivityViewController(new NSObject[] { UIActivity.FromObject(textToShare) }, null);
    UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController(activityController, true, null);
}
于 2015-02-20T20:14:06.827 回答
1

我处于完全相同的位置。

到目前为止我发现了什么:

  • iOS 应用程序通常使用名为 Sharekit 的东西,但我没有发现有人将它与 Xamarin.Forms 一起使用
  • 自 iOS 6 以来,有一种更简单的方法可以与目标 c 共享,但我不确定我们如何将其转换为 C#/Xamarin。
  • Xamarin 有一个名为 Xamarin.Social 的社交插件,它允许用户从您的应用程序登录和发布内容。当然,这不是我们想要做的……理想情况下,我们想要与 Android 中相同的功能。

很抱歉,我无法提供更多帮助。如果我找到一个有效的答案,我会更新你。

于 2015-02-20T19:59:16.310 回答