如何设置UIActivityViewController Gmail共享主题与正文不同 [英] How to set UIActivityViewController Gmail Share Subject different than body
问题描述
我正在使用Google的Gmail分享扩展.我正在提供以下内容的实现:
I am using Gmail Share Extension from Google. I am providing implementation of:
- (id)activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType;
- (id)activityViewControllerPlaceholderItem:(UIActivityViewController *)activityViewController;
- (NSString *)activityViewController:(UIActivityViewController *)activityViewController subjectForActivityType:(NSString *)activityType;
对于Mail客户端(来自Apple),它将进入下面的委托方法,但Gmail会
For Mail client (from Apple) it goes into delegate method below but Gmail
- (NSString *)activityViewController:(UIActivityViewController *)activityViewController subjectForActivityType:(NSString *)activityType;
它显示的主题与正文相同.我想知道如何为Gmail共享选项设置与正文不同的主题.
Instead it shows subject same as body text. I am wondering how can I set subject different than body text for Gmail Share option.
推荐答案
解决方案非常简单-需要将 NSUrl 传递到活动项目列表中.
The solutions is pretty simple - need pass NSUrl to the list of activity items.
这是Swift上的示例:
Here is a sample on Swift:
ActivityViewController(activityItems: [URL(string: "https://www.apple.com")!])
这里是Xamarin:
Here is for Xamarin:
public override NSObject GetItemForActivity(UIActivityViewController activityViewController, NSString activityType)
{
NSObject item = null;
if (activityType == UIActivityType.Mail)
{
item = PlaceholderItem;
}
else if (activityType == new NSString(_gmailActivityId))
{
item = NSUrl.FromString("https://www.apple.com");
}
else if (activityType == new NSString(_sparkActivityId))
{
item = PlaceholderItem;
}
return item ?? base.GetItemForActivity(activityViewController, activityType);
}
从这个角度来看,如果您要传递任何字符串项目-它们将被复制. App Store,Facebook等正在传递URL或URL +图像-看起来Gmail客户端也在以某种方式进行处理.
From that perspective, if you will pass any string items - they will be copied. App Store, Facebook and others are passing URLs or URLs+Images - which looks like also are handling somehow by Gmail client.
这篇关于如何设置UIActivityViewController Gmail共享主题与正文不同的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!