自定义 URL 方案
添加下面参数来开启whatsapp://,将可开启whatsapp的应用程序,并进行自定义的操作。
URL | 参数 | 开启 |
---|
app | - | WhatsApp Messenger 应用程序 |
send | | 输入新的对话 |
| 文本 | 如有文本内容存在,将会预先填入对话屏幕的消息文本输入字段。 |
在 Objective-C 开启下列 URL 的呼叫命令:
text = [text stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *charactersToEscape &#61; &#64;"?!&#64;#$^&%*&#43;,:;&#61;&#39;\"&#96;<>()[]{}/\\| ";
NSCharacterSet *allowedCharacters &#61; [[NSCharacterSet characterSetWithCharactersInString:charactersToEscape] invertedSet];
text &#61; [text stringByAddingPercentEncodingWithAllowedCharacters:allowedCharacters];
url &#61; [NSString stringWithFormat:&#64;"whatsapp://send?text&#61;%&#64;", text];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url] options:&#64;{} completionHandler:nil];
在应用程序的Info.plist 文件中 LSApplicationQueriesSchemes 项下加入whatsapp。
注意&#xff1a;
iOS 15限制了配置的URL Scheme不可以超过50个。
共享扩展
共享扩展功能随 iOS 8.0 推出&#xff0c;方便用户 iPhone 手机中安装的任何应用程序与其它应用程序共享内容。这是目前将用户内容与 WhatsApp 共享的首选方式。如要使用共享扩展功能&#xff0c;请创建 UIActivityViewController 的实例&#xff0c;在应用中呈现。WhatsApp 接受下列类型的内容&#xff1a;
- 文本&#xff08;UTI&#xff1a;public.plain-text&#xff09;
- 照片&#xff08;UTI: public.image&#xff09;
- 视频&#xff08;UTI: public.movie&#xff09;
- 音频备忘录与音乐文件&#xff08;UTI: public.audio&#xff09;
- PDF 文档&#xff08;UTI: com.adobe.pdf&#xff09;
- 联系人名片&#xff08;UTI: public.vcar&#xff09;
- 网页 URL&#xff08;UTI: public.url&#xff09;
UIImage *image &#61; [UIImage imageWithContentsOfFile:localpath];
NSString *savePath &#61; [kCachesPath stringByAppendingPathComponent:&#64;"whatsAppTmp.wai"];
[UIImageJPEGRepresentation(image, 0.8) writeToFile:savePath atomically:YES];NSArray *activityItems &#61; &#64;[[NSURL fileURLWithPath:savePath]];
UIActivityViewController *ctrl &#61; [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
ctrl.excludedActivityTypes &#61; &#64;[UIActivityTypePostToWeibo,UIActivityTypePrint,UIActivityTypeCopyToPasteboard,UIActivityTypeAssignToContact,UIActivityTypeSaveToCameraRoll,UIActivityTypeAddToReadingList,UIActivityTypePostToFlickr,UIActivityTypePostToVimeo,UIActivityTypePostToTencentWeibo,UIActivityTypeAirDrop];[viewController presentViewController:ctrl animated:YES completion:nil];
文档交互
如过希望经 WhatsApp 共享照片、视频、或音频备忘录这些媒体文件&#xff0c;可使用文档交互 Document Interaction API 来发送媒体文件到 WhatsApp 联系人与群组。
WhatsApp Messenger 可处理下列各种媒体文件&#xff1a;
- 任何符合 public.image 类型格式的图像文件格式&#xff08;例如 PNG 或 JPEG&#xff09;
- 任何符合 public.movie 类型的视频文件格式&#xff08;例如 MPEG-4 视频&#xff09;
- 音频文件&#xff08;只接受 MPEG-3、MPEG-4、AIFF、AIFF-C、与 Core Audio 格式&#xff09;
如只想在应用列表中显示 WhatsApp&#xff0c;而不是将 WhatsApp 与其它符合 public/* 要求条件的应用程序一起呈现&#xff0c;可将上面这些格式的文件与 WhatsApp 不处理的文件扩展名相连后存储&#xff1a;
- 图像 - «.wai»&#xff0c;这是 net.whatsapp.image 的文件类型
- 视频 - «.wam»&#xff0c;这是 net.whatsapp.movie 的文件类型
- 音频文件 - «.waa»&#xff0c;这是 net.whatsapp.audio 的文件类型