UIActivityViewController Gmail共享主题和正文为空?

问题描述 投票:24回答:3

我正在使用UIActivityViewController显示共享。在列表中,当我选择“邮件”应用程序时,主题和正文已正确设置,而在Gmail应用程序中则为空。

- (void)shareAVideoWithSubject:(NSString*)subject Link:(NSString *)string onViewController:(UIViewController *)viewController fromView:(UIView *)view {

    _activityViewController =
    [[UIActivityViewController alloc] initWithActivityItems:@[string]
                                      applicationActivities:nil];
    _activityViewController.excludedActivityTypes = @[UIActivityTypePrint, UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll, UIActivityTypeAddToReadingList, UIActivityTypeAirDrop];
    [_activityViewController setValue:subject forKey:@"subject"];


    UIWindow *window = [[[UIApplication sharedApplication] delegate]window];

    //if iPhone
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
    {
        if(!viewController){
            viewController = ((SWRevealViewController*)window.rootViewController).presentedViewController;
        }
        [viewController presentViewController:_activityViewController
                                     animated:YES
                                   completion:nil];

    }   
    //if iPad
    else
    {
        // Change Rect to position Popover
        popup = [[UIPopoverController alloc] initWithContentViewController:_activityViewController];
        UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithCustomView:view];
        [popup presentPopoverFromBarButtonItem:barButton permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
    }
}

我在StackOverFlow上检查了以下两个问题。

  1. UIActivityViewController not showing body text in gmail

  2. UIActivityViewController not showing body text in gmail

这些不是我的问题的答案,因为它们在列表中添加了新的活动,而我希望iOS显示所有可共享的应用程序。在这种情况下,Gmail共享正文将为空。

谢谢。添加屏幕截图,“

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9JbEpQMy5wbmcifQ==” alt带有空主题和正文的邮件窗口。由于公司政策,该图像被裁剪了。

我正在使用UIActivityViewController显示共享。在列表中,当我选择“邮件”应用程序时,主题和正文已正确设置,而在Gmail应用程序中则为空。 -(void)shareAVideoWithSubject:(NSString *)...

ios iphone ipad gmail uiactivityindicatorview
3个回答
12
投票

[_activityViewController setValue:subject forKey:@"subject"];是设置电子邮件主题的未公开方法。设置正文和主题的正确方法(iOS 7.0及更高版本)-在要共享的项目上实施UIActivityItemSource协议。


0
投票

您应该将NSUrl作为activityItems数组的项目传递,以避免将正文内容复制到主题。我提供了详细信息here


-2
投票

UIActivityViewController * activityViewController = [[UIActivityViewController分配] initWithActivityItems:@ [@“您要共享的正文字符串”]applicationActivities:nil];

© www.soinside.com 2019 - 2024. All rights reserved.