【问题标题】:Sharing targeted xamarin forms共享目标 xamarin 表单
【发布时间】:2017-09-01 22:59:34
【问题描述】:

我使用以下命令共享链接,但使用此命令会打开一个包含应用程序的框供我共享。我想当我分享它时已经直接进入 facebook,而不通过这个框

    void OnTapped4(object sender, EventArgs args)
    {
        CrossShare.Current.ShareLink(link, "teste", titulo);
    }

需要直接分享到 facebook、whatsapp、twitter 和电子邮件


我有这个命令,而且它只适用于 xamarin android,在 xamarin 形式中它不起作用

Intent sendIntent = new Intent();
sendIntent.SetAction(Intent.ActionSend);
sendIntent.PutExtra(Intent.ExtraText,"titulo");
sendIntent.SetType("text/plain");
sendIntent.SetPackage("com.facebook.orca");
StartActivity(sendIntent);

【问题讨论】:

  • 使用依赖服务调用原生Android代码:developer.xamarin.com/guides/xamarin-forms/…
  • 如果我理解正确,您不想显示ActionSend Intent 而是直接打开Facebook 与共享内容?如果是这样,并且正如 here 所提到的,这是不可能的,因为 “由该操作的接收者来询问用户应该将数据发送到哪里。”
  • 我想看看我是否可以通过使用 CrossShare 来做到这一点

标签: xamarin


【解决方案1】:

我找到了以下示例,我在 android 上做了并且它有效,现在我想在 IOS 中执行此操作,我怎样才能让它去 whatsapp

安卓

public class ShareService : IShareService
{
    public void SharePageLink(string url)
    {
        var context = Forms.Context;
        Activity activity = context as Activity;

        Intent share = new Intent(Intent.ActionSend);
        share.SetType("text/plain");
        share.AddFlags(ActivityFlags.ClearWhenTaskReset);
        share.PutExtra(Intent.ExtraSubject, "Brusselslife");
        share.SetPackage("com.whatsapp");
        share.PutExtra(Intent.ExtraText, url);


        activity.StartActivity(Intent.CreateChooser(share, "Share link!"));
    }
}

在 IOS 中将这个 'com.whatsapp' 放在哪里

public class ShareService : IShareService
{
    public void SharePageLink(string url)
    {
        var window = UIApplication.SharedApplication.KeyWindow;
        var rootViewController = window.RootViewController;

        //SetPackage

         var activityViewController = new UIActivityViewController(new NSString[] { new NSString(url) }, null);

        activityViewController.ExcludedActivityTypes = new NSString[] {
            UIActivityType.AirDrop,
            UIActivityType.Print,
            UIActivityType.Message,
            UIActivityType.AssignToContact,
            UIActivityType.SaveToCameraRoll,
            UIActivityType.AddToReadingList,
            UIActivityType.PostToFlickr,
            UIActivityType.PostToVimeo,
            UIActivityType.PostToTencentWeibo,
            UIActivityType.PostToWeibo
        };

        rootViewController.PresentViewController(activityViewController, true, null);
    }
}

【讨论】:

  • 你有解决办法吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多