以下是我整理WhatsAPP软件,一些自己在实践实际运用中整理到的Scheme协议地址,分享大家使用,如果没有可以评论@我,我在寻找可以补充协议地址。
业务需求中有点击按钮,从我们APP跳转到WhatsApp和某个人聊天,发现前端实现是
https://api.whatsapp.com/send?phone=xxxxx
//把该链接通过Android系统浏览器打开,如果手机安装WhatsApp会直接打开app并跳转到对应的账号下,说明 WhatsApp有对应的scheme。但是通过系统浏览器并不能调起WhatsApp,可以通过重写 WebViewClient 中的 shouldOverrideUrlLoading(WebView view, String url)进行拦截,然后 通过 Intent.ACTION_VIEW及URI解析进行跳转,主要代码如下
public static void chatInWhatsApp(Context mContext, String mobileNum) {
try {
final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://api.whatsapp.com/send?phone=" + mobileNum));
intent.setPackage("com.whatsapp");
mContext.startActivity(intent);
} catch (Exception e) { // 没有安装WhatsApp
e.printStackTrace();
}
}
如果要分享文案到WhatsApp,实现类似分享文案内容到短息。主要是 setAction及添加 Package 限制。
// 分享内容到WhatsApp
public static void shareToWhatsApp(Context mContext, String content) {
if (AppUtils.checkAppInstalled("com.whatsapp")) { //判断是否装了whatsAPP
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, content);
sendIntent.setType("text/plain");
sendIntent.setPackage("com.whatsapp");
mContext.startActivity(sendIntent);
}
}