Xamarin.forms.ios 上的分享按钮
Share button on Xamarin.forms.ios
我是 Xamarin ant 的初学者,尝试使用 Xamarin.forms 创建简单的应用程序。
现在我需要在我的应用程序中添加共享按钮(方形 + 箭头,就像 iPhone 上的 Safari 一样)。据我所知,Android 和 IOS 是不同的,因此我使用 DependencyService。
使用 Intent 在 Android 上效果很好,但在 IOS 上效果不佳。
你能帮我吗。
谢谢大家,
这是我的代码
PCL
var x = DependencyService.Get<IShareable>();
x.ShareText("any text to share");
Android
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
}
我的情况完全一样。
到目前为止我发现了什么:
- iOS 应用程序通常使用名为 Sharekit 的东西,但我还没有发现有人将其与 Xamarin.Forms
一起使用
- 自 iOS 6 以来,有一种更简单的方法可以与 objective c 共享,但我不确定我们如何将其转换为 C#/Xamarin。
- Xamarin 有一个名为 Xamarin.Social 的社交插件,它允许用户登录并从您的应用中进行 post 操作。当然,这不是我们想要做的......理想情况下,我们想要 Android.
中的相同功能
很抱歉,我无法提供更多帮助。如果我找到有效的答案,我会更新你。
您想使用 UIActivityViewController.
它将看起来像这样:
public void ShareText(string textToShare)
{
var activityController = new UIActivityViewController(new NSObject[] { UIActivity.FromObject(textToShare) }, null);
UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController(activityController, true, null);
}
我是 Xamarin ant 的初学者,尝试使用 Xamarin.forms 创建简单的应用程序。 现在我需要在我的应用程序中添加共享按钮(方形 + 箭头,就像 iPhone 上的 Safari 一样)。据我所知,Android 和 IOS 是不同的,因此我使用 DependencyService。 使用 Intent 在 Android 上效果很好,但在 IOS 上效果不佳。 你能帮我吗。 谢谢大家, 这是我的代码
PCL
var x = DependencyService.Get<IShareable>();
x.ShareText("any text to share");
Android
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
}
我的情况完全一样。
到目前为止我发现了什么:
- iOS 应用程序通常使用名为 Sharekit 的东西,但我还没有发现有人将其与 Xamarin.Forms 一起使用
- 自 iOS 6 以来,有一种更简单的方法可以与 objective c 共享,但我不确定我们如何将其转换为 C#/Xamarin。
- Xamarin 有一个名为 Xamarin.Social 的社交插件,它允许用户登录并从您的应用中进行 post 操作。当然,这不是我们想要做的......理想情况下,我们想要 Android. 中的相同功能
很抱歉,我无法提供更多帮助。如果我找到有效的答案,我会更新你。
您想使用 UIActivityViewController.
它将看起来像这样:
public void ShareText(string textToShare)
{
var activityController = new UIActivityViewController(new NSObject[] { UIActivity.FromObject(textToShare) }, null);
UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController(activityController, true, null);
}