Android 接入 支付宝芝麻信用互查

Android 接入 支付宝芝麻信用互查

个人笔记 防止忘记

之前H5调用芝麻授权可以 但是随着芝麻分功能计划下架 需要接入作为新产品的 芝麻信用互查
无奈文档有点少 只能东拼西凑的去找有关于旧版的一些代码片段并且和蚂蚁金服的机器人聊天。

APP唤起支付宝并且不是支付的代码 (重点 : 不是支付)

if (hasApplication()) {
                    Intent action = new Intent(Intent.ACTION_VIEW);
                    StringBuilder builder = new StringBuilder();
                    // 这里使用固定appid 20000067
                    builder.append("alipays://platformapi/startapp?appId=20000067&url=");
                    builder.append(URLEncoder.encode(url));
                    action.setData(Uri.parse(builder.toString()));
                    startActivity(action);
                } else {
                    // 处理没有安装支付宝的情况
                    new AlertDialog.Builder(getActivity())
                            .setMessage("是否下载并安装支付宝完成认证?")
                            .setPositiveButton("好的", new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    Intent action = new Intent(Intent.ACTION_VIEW);
                                    action.setData(Uri.parse("https://m.alipay.com"));
                                    startActivity(action);
                                }
                            }).setNegativeButton("算了", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            dialog.dismiss();
                        }
                    }).show();
                }
/**
     * 判断是否安装了支付宝
     *
     * @return true 为已经安装
     */
    private boolean hasApplication() {
        PackageManager manager = getPackageManager();
        Intent action = new Intent(Intent.ACTION_VIEW);
        action.setData(Uri.parse("alipays://"));
        List list = manager.queryIntentActivities(action, PackageManager.GET_RESOLVED_FILTER);
        return list != null && list.size() > 0;
    }
    ```
  ps:url是后台返回的数据   

在支付宝授权完成后点击返回   支付宝会以scheme的方式打开APP并且把参数传回来  
无奈 只能在Manifest中当前activity添加scheme信息

Uri uridata = getIntent().getData();
获取数据完成后 传给后台

东西没什么技术含量  主要问题在于   没文档!!!

你可能感兴趣的:(Android 接入 支付宝芝麻信用互查)