UIActivityViewController Gmail分享选项中主题和正文为什么会设置两次?

4
我正在使用UIActivityViewController来显示分享选项,除了用户选择Gmail分享选项时出现问题之外,一切都正常。在列表中选择Gmail时,主题和正文会被设置两次
NSString *socialUrl = [NSString stringWithFormat:@"https://www.youtube.com/watch?v=%@",videoId];
       NSURL *url = [NSURL URLWithString:socialUrl];
        NSString *strText = @"Shared via TopCod";
        NSString *url1 = @"http://www.topcod.tv/";

        NSArray *ary =[[NSArray alloc]initWithObjects:url,strText,url1,nil];
    UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:ary applicationActivities:nil];
    NSArray *excludeActivities = @[UIActivityTypePostToWeibo,
                                    UIActivityTypeMessage,
                                    UIActivityTypeMail,
                                    UIActivityTypePrint,
                                    UIActivityTypeCopyToPasteboard,
                                    UIActivityTypeAssignToContact,
                                    UIActivityTypeSaveToCameraRoll,
                                    UIActivityTypeAddToReadingList,
                                    UIActivityTypePostToFlickr,
                                    UIActivityTypePostToVimeo,
                                    UIActivityTypePostToTencentWeibo,
                                    UIActivityTypeAirDrop,
                                    ];
    [activityViewController setValue:strText forKey:@"subject"];
        activityViewController.excludedActivityTypes = excludeActivities;
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
        [self presentViewController:activityViewController animated:YES completion:nil];
1个回答

0
你可以使用以下代码完成你的工作。在这里,你可以使用单个字符串而不是使用两个独立的字符串,并使用\n分隔符添加新行。
NSString *socialUrl = [NSString stringWithFormat:@"https://www.youtube.com/watch?v=%@",videoId];
       NSURL *url = [NSURL URLWithString:socialUrl];
        NSString *strText = @"Shared via TopCod\n\nhttp://www.topcod.tv/";


        NSArray *ary =[[NSArray alloc]initWithObjects:url,strText,nil];
    UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:ary applicationActivities:nil];
    NSArray *excludeActivities = @[UIActivityTypePostToWeibo,
                                    UIActivityTypeMessage,
                                    UIActivityTypeMail,
                                    UIActivityTypePrint,
                                    UIActivityTypeCopyToPasteboard,
                                    UIActivityTypeAssignToContact,
                                    UIActivityTypeSaveToCameraRoll,
                                    UIActivityTypeAddToReadingList,
                                    UIActivityTypePostToFlickr,
                                    UIActivityTypePostToVimeo,
                                    UIActivityTypePostToTencentWeibo,
                                    UIActivityTypeAirDrop,
                                    ];
    [activityViewController setValue:strText forKey:@"subject"];
        activityViewController.excludedActivityTypes = excludeActivities;
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
        [self presentViewController:activityViewController animated:YES completion:nil];

希望这能有所帮助。

你好,是否可以通过参数像“setToRecipients”一样传递收件人? - Ricardo Pessoa
老板,这并没有帮助。我尝试了您的代码,但在使用Gmail时它不起作用。 - Chetan Rajauria

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接