首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

iOS UIActivityViewController 完成回調判斷分享是否成功

     編輯:程式設計綜合問答

需在用戶通過 UIActivityViewController 發送郵件/分享成功後執行業務邏輯(如記錄數據庫)。

使用 completionHandler

UIActivityViewController *vc = [[UIActivityViewController alloc] initWithActivityItems:items applicationActivities:nil];
[vc setCompletionHandler:^(NSString *activityType, BOOL completed) {
    if (completed) {
        NSString *msg = nil;
        if ([activityType isEqualToString:UIActivityTypeMail]) msg = @"郵件發送成功";
        else if ([activityType isEqualToString:UIActivityTypePostToTwitter]) msg = @"推特分享成功";
        else if ([activityType isEqualToString:UIActivityTypePostToFacebook]) msg = @"Facebook 分享成功";
        // 執行業務邏輯
        NSLog(@"%@", msg);
    } else {
        // 用戶取消或失敗
    }
}];
[self presentViewController:vc animated:YES completion:nil];

關鍵參數

  • activityType:標識用戶選擇的分享渠道(系統預定義常量)。
  • completed:YES 表示操作完成(發送/發布成功),NO 表示取消或失敗。

注意:部分第三方應用可能不回調 completed=YES,僅作參考。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved