1. 程式人生 > >Android呼叫微信掃一掃和支付寶掃一掃

Android呼叫微信掃一掃和支付寶掃一掃

微信

在自己的應用中開啟微信掃一掃程式碼:
private void toWeChatScan() {
    try {
        //利用Intent開啟微信
        Uri uri = Uri.parse("weixin://dl/scan");
        Intent intent = new Intent(Intent.ACTION_VIEW, uri);
        startActivity(intent);
    } catch (Exception e) {
        //若無法正常跳轉,在此進行錯誤處理
        Toast.makeText(context, "無法跳轉到微信,請檢查是否安裝了微信", Toast.LENGTH_SHORT).show();
    }
}

使用以上程式碼跳轉到微信(版本:6.3.18)掃一掃,會出現以下情況:

    情況:                    結果:
安裝並登陸了微信            跳轉到微信掃一掃
安裝了但未登陸微信          跳轉到微信登陸,登陸成功後跳轉到掃一掃
未安裝微信                 Toast沒安裝微信
現在微信不能直接跳轉到微信掃一掃,只能跳到微信首頁:
①方法一:將程式碼
Uri uri = Uri.parse("weixin://dl/scan");

改為

Uri uri = Uri.parse("weixin://");
②方法二:通過包名開啟微信
Intent intent = getPackageManager().getLaunchIntentForPackage("com.tencent.mm");  
startActivity(intent);

支付寶

private void toAliPayScan() {
    try {
        //利用Intent開啟支付寶
        //支付寶跳過開啟動畫開啟掃碼和付款碼的urlscheme分別是:
//alipayqr://platformapi/startapp?saId=10000007
        //alipayqr://platformapi/startapp?saId=20000056
        Uri uri = Uri.parse("alipayqr://platformapi/startapp?saId=10000007");
        Intent intent = new Intent(Intent.ACTION_VIEW, uri);
        startActivity(intent);
    } catch (Exception e) {
        //若無法正常跳轉,在此進行錯誤處理
        Toast.makeText(context, "開啟失敗,請檢查是否安裝了支付寶", Toast.LENGTH_SHORT).show();
    }
}