2016-08-25 17 views
8

UIActivityViewController setCompletionWithItemsHandler không được gọi cho hoạt động whatsapp.UIActivityViewController setCompletionWithItemsHandler không được gọi cho hoạt động whatsapp

Có ai phải đối mặt với cùng một vấn đề không? Hãy chia sẻ giải pháp nếu có.

NSArray *applicationActivities = @[[[JBWhatsAppActivity alloc] init]]; 

UIActivityViewController* activityViewController = nil; 
if(installed) 
    activityViewController = [[UIActivityViewController alloc] initWithActivityItems:dataToShare applicationActivities:nil]; 
else 
    activityViewController = [[UIActivityViewController alloc] initWithActivityItems:dataToShare applicationActivities:applicationActivities]; 

// Setting subject field while sharing app with email 
[activityViewController setValue:@"Check out this Site !" forKey:@"subject"]; 

NSArray *excludedActivities = @[UIActivityTypePostToWeibo, 
           UIActivityTypePrint, 
           UIActivityTypeCopyToPasteboard, 
           UIActivityTypeAssignToContact, 
           UIActivityTypeSaveToCameraRoll, 
           UIActivityTypeAddToReadingList, 
           UIActivityTypePostToFlickr, 
           UIActivityTypePostToVimeo, 
           UIActivityTypePostToTencentWeibo, 
           UIActivityTypeAirDrop 
           ]; 
activityViewController.excludedActivityTypes = excludedActivities; 



[activityViewController setCompletionWithItemsHandler:^(NSString * __nullable activityType, BOOL completed, NSArray * __nullable returnedItems, NSError * __nullable activityError) 
{ 

} 
]; 


[self presentViewController:activityViewController animated:YES completion:^{}]; 
+0

bạn có thể hiển thị mã của bạn –

Trả lời

2
NSMutableArray *sharingItems = [NSMutableArray new]; 
if (text) { 
    [sharingItems addObject:text]; // text to share 
} 
if (image) { 
    [sharingItems addObject:image]; // UIImage to share 
} 
if (url) { 
    [sharingItems addObject:url]; // url to share 
} 

UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:sharingItems applicationActivities:nil]; 

if ([activityController respondsToSelector:@selector(popoverPresentationController)]) { 
    // iOS8 
    activityController.popoverPresentationController.sourceView = 
    sourceView; 
    activityController.popoverPresentationController.sourceRect = CGRectMake(CGRectGetMidX(self.view.bounds), CGRectGetMidY(self.view.bounds),0,0); 
} 

[activityController setCompletionWithItemsHandler:^(NSString * __nullable activityType, BOOL completed, NSArray * __nullable returnedItems, NSError * __nullable activityError) 
{ 
    //Your Code goes here 
}]; 

[self presentViewController:activityController animated:YES completion:^{ 

}]; 
+1

Ông có thể vui lòng giải thích tại sao điều này là câu trả lời? – Warpling

+0

Bạn có thể giải thích tại sao đây là câu trả lời không? – Warpling

Các vấn đề liên quan