如何以编程方式打开 WhatsApp 然后返回到我的应用程序?
How to open WhatsApp programmatically and then get back to my app?
在我的应用程序中,我需要通过 WhatsApp 发送链接。所以我就是这样做的:
NSString* link = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(NULL,
(CFStringRef)resource.shareURL.absoluteString,
NULL,
CFSTR("!*'();:@&=+$,/?%#[]"),
kCFStringEncodingUTF8));
NSString * urlWhats = [NSString stringWithFormat:@"whatsapp://send?text=%@", link];
NSURL * whatsappURL = [NSURL URLWithString:urlWhats];
if ([[UIApplication sharedApplication] canOpenURL: whatsappURL]) {
[[UIApplication sharedApplication] openURL: whatsappURL];
} else {
UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Unknown error"
message:@"Can't open Whatsapp"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
}
但问题是它不会在消息发送后自动 return 到我的应用程序。用户需要手动返回应用程序。那么如何将它 return 添加到我的应用程序中呢?有可能吗?
这不可能。这个工作的唯一理论上的方法是发送 URI 以供 whatsapp 在其完成处理程序中打开您的应用程序。但是,whatsapp 方案不支持此类功能,因此无法在它发送消息后强制其打开您的应用程序。
在我的应用程序中,我需要通过 WhatsApp 发送链接。所以我就是这样做的:
NSString* link = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(NULL,
(CFStringRef)resource.shareURL.absoluteString,
NULL,
CFSTR("!*'();:@&=+$,/?%#[]"),
kCFStringEncodingUTF8));
NSString * urlWhats = [NSString stringWithFormat:@"whatsapp://send?text=%@", link];
NSURL * whatsappURL = [NSURL URLWithString:urlWhats];
if ([[UIApplication sharedApplication] canOpenURL: whatsappURL]) {
[[UIApplication sharedApplication] openURL: whatsappURL];
} else {
UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Unknown error"
message:@"Can't open Whatsapp"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
}
但问题是它不会在消息发送后自动 return 到我的应用程序。用户需要手动返回应用程序。那么如何将它 return 添加到我的应用程序中呢?有可能吗?
这不可能。这个工作的唯一理论上的方法是发送 URI 以供 whatsapp 在其完成处理程序中打开您的应用程序。但是,whatsapp 方案不支持此类功能,因此无法在它发送消息后强制其打开您的应用程序。