在app中经常会加载一些网页,然后在网页上进行相应的操作,比如我们公司的项目加载了一遍网页文章,我要通过点击网页上的按钮通知我去调用我的app弹出分享模块,然后把这遍文章分享出去。
实现的方式如下:
首先跟web前端约定好了一种协议,app端我负责监听网页给我发出通知协议,根据约定好的协议进行相应的操作
AppDelegate 里面负责监听网页的进一步操作
//从第三方app跳转到自己的app时调用
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation;
通过上面的这个方法可以监听到网页发送应用内跳转通知:
先定义一个枚举用来判断是属于那种跳转:
typedef enum {
QCJumpTypeQRCode = 1001, //二维码
QCJumpTypeShare = 1002, //分享
QCJumpTypeBill = 1003 //账单
} QCJumpType;
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
if ([url.scheme isEqualToString:@"saga"]) { //约定好的协议头
//只要符合约定好的协议头 进一步可以判断主机位host
QCJumpType jumpType = url.host.intValue;
switch (jumpType) {
case QCJumpTypeQRCode:
//通知进行扫描二维码
break;
case QCJumpTypeShare:
//通知弹出分享模板View
break;
case QCJumpTypeBill:
//通知打开账单
break;
default:
break;
}
}
}
以上就是简述实现网页通知app进行应用操作。