在Android应用中打开其他第三方应用
//以打开微信为例,前提需要知道打开应用的包名,一般一个发布版本的应用,包名不会轻易改变的,但是,打开QQ就要注意了,毕竟QQ的发布版本有不下于4个版本。
Intent intent = getPackageManager().getLaunchIntentForPackage("com.tencent.mm");
startActivity(intent);
可以从第三方应用跳转到QQ界面,并可以进入指定的QQ号码的聊天界面(可以是陌生人QQ号).
Android:
(1)不再WebView中打开:
String url="mqqwpa://im/chat?chat_type=wpa&uin=1642084864";
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
//指定的QQ号只需要修改uin后的值即可。
(2)在webView中打开
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url != null && (url.startsWith("https:") || url.startsWith("http:"))) {//http和https协议开头的执行正常
super.shouldOverrideUrlLoading(view,url);
}else{ //其他的URL则会开启一个Acitity然后去调用原生APP
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
view.getContext().startActivity(intent);
return true;
}
return false;
}
......
}
iOS:
UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectZero];
NSURL *url = [NSURL URLWithString:@"mqq://im/chat?chat_type=wpa&uin=123456&version=1&src_type=web"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
webView.delegate = self;
[webView loadRequest:request];
[self.view addSubview:webView];
Web:
手机浏览器访问此html,点击“打开qq群”,是不是可以打开qq群的界面了。如果已经是群成员,点"发消息"就可以发送了;否则会显示"申请加群"
<a href="mqqapi://card/show_pslcard?src_type=internal&version=1&uin=419834979&card_type=group&source=qrcode">打开手机qq群</a>
打开手机QQ聊天窗口:
<a href="mqqwpa://im/chat?chat_type=wpa&uin=632105263&version=1&src_type=web&web_src=oicqzone.com">打开手机qq聊天框</a>
打开PC端的QQ聊天窗口:
<a href="tencent://message/?uin=632105263&Site=&Menu=yes" class="icon icon-qq first">打开QQ聊天窗口</a>
这种情况是好友可以直接打开聊天窗口,若不是好友必须先添加好友,即权限。
强制打开聊天窗口,即使不是好友也可以直接打开临时会话:
//以打开微信为例,前提需要知道打开应用的包名,一般一个发布版本的应用,包名不会轻易改变的,但是,打开QQ就要注意了,毕竟QQ的发布版本有不下于4个版本。
Intent intent = getPackageManager().getLaunchIntentForPackage("com.tencent.mm");
startActivity(intent);
可以从第三方应用跳转到QQ界面,并可以进入指定的QQ号码的聊天界面(可以是陌生人QQ号).
Android:
(1)不再WebView中打开:
String url="mqqwpa://im/chat?chat_type=wpa&uin=1642084864";
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
//指定的QQ号只需要修改uin后的值即可。
(2)在webView中打开
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url != null && (url.startsWith("https:") || url.startsWith("http:"))) {//http和https协议开头的执行正常
super.shouldOverrideUrlLoading(view,url);
}else{ //其他的URL则会开启一个Acitity然后去调用原生APP
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
view.getContext().startActivity(intent);
return true;
}
return false;
}
......
}
iOS:
UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectZero];
NSURL *url = [NSURL URLWithString:@"mqq://im/chat?chat_type=wpa&uin=123456&version=1&src_type=web"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
webView.delegate = self;
[webView loadRequest:request];
[self.view addSubview:webView];
Web:
手机浏览器访问此html,点击“打开qq群”,是不是可以打开qq群的界面了。如果已经是群成员,点"发消息"就可以发送了;否则会显示"申请加群"
<a href="mqqapi://card/show_pslcard?src_type=internal&version=1&uin=419834979&card_type=group&source=qrcode">打开手机qq群</a>
打开手机QQ聊天窗口:
<a href="mqqwpa://im/chat?chat_type=wpa&uin=632105263&version=1&src_type=web&web_src=oicqzone.com">打开手机qq聊天框</a>
打开PC端的QQ聊天窗口:
<a href="tencent://message/?uin=632105263&Site=&Menu=yes" class="icon icon-qq first">打开QQ聊天窗口</a>
这种情况是好友可以直接打开聊天窗口,若不是好友必须先添加好友,即权限。
强制打开聊天窗口,即使不是好友也可以直接打开临时会话:
<a href="tencent://message/?Menu=yes&uin=632105263& Service=300&sigT=45a1e5847943b64c6ff3990f8a9e644d2b31356cb0b4ac6b24663a3c8dd0f8aa12a595b1714f9d45">632105263</a>
有不对的地方勿喷,请留言!谢谢