Android 功能开发说明
简介
分享到支付宝
发送文本消息
//社交分享开放工具接口类,便于对社交分享开放接口的调用
import com.alipay.share.sdk.openapi.IAPApi;
//社交分享开放工具工厂类,用于创建工具实例
import com.alipay.share.sdk.openapi.APAPIFactory;
//普通文本消息内容定义类
import com.alipay.share.sdk.openapi.APTextObject;
//分享消息定义类
import com.alipay.share.sdk.openapi.APMediaMessage;
//分享消息请求包装类
import com.alipay.share.sdk.openapi.SendMessageToZFB;
示例代码
//创建工具对象实例,此处的APPID为上文提到的,申请应用生效后,在应用详情页中可以查到的支付宝应用唯一标识
IAPApi api = APAPIFactory.createZFBApi(getApplicationContext(),APPID,false);
//初始化APTextObject,组装文本消息内容对象
APTextObject textObject = new APTextObject();
textObject.text = "需要发送的内容";
//初始化APMediaMessage ,组装分享消息对象
APMediaMessage mediaMessage = new APMediaMessage();
mediaMessage.mediaObject = textObject;
//将分享消息对象包装成请求对象
SendMessageToZFB.Req req = new SendMessageToZFB.Req();
req.message = mediaMessage;
//发送请求
api.sendReq(req);
发送网页Card
//社交分享开放工具接口类,便于对社交分享开放接口的调用
import com.alipay.share.sdk.openapi.IAPApi;
//社交分享开放工具工厂类,用于创建工具实例
import com.alipay.share.sdk.openapi.APAPIFactory;
//网页Card消息内容定义类
import com.alipay.share.sdk.openapi.APWebpageObject;
//分享消息定义类
import com.alipay.share.sdk.openapi.APMediaMessage;
//分享消息请求包装类
import com.alipay.share.sdk.openapi.SendMessageToZFB;
示例代码
//创建工具对象实例,此处的APPID为上文提到的,申请应用生效后,在应用详情页中可以查到的支付宝应用唯一标识
IAPApi api = APAPIFactory.createZFBApi(getApplicationContext(),APPID,false);
//初始化一个APWebPageObject对象,组装网页Card内容对象
APWebPageObject webPageObject = new APWebPageObject();
webPageObject.webpageUrl = "http://www.yoururl.com/";
////初始化APMediaMessage ,组装分享消息对象
APMediaMessage webMessage = new APMediaMessage();
webMessage.mediaObject = webPageObject;
webMessage.title = "分享标题";
webMessage.description = "分享内容描述";
//网页缩略图的分享支持bitmap和url两种方式,直接通过bitmap传递时bitmap最大为32K
//a)url方式
//webMessage.thumbUrl = "http://www.yoururl.com/thumb.jpg";
//b)Bitmap方式
//webMessage.setThumbImage(bitmap);
//bitmap.recycle();
webMessage.thumbUrl = "http://www.yoururl.com/thumb.jpg";
//将分享消息对象包装成请求对象
SendMessageToZFB.Req webReq = new SendMessageToZFB.Req();
webReq.message = webMessage;
webReq.transaction = "WebShare"+String.valueOf(System.currentTimeMillis());
//发送请求
api.sendReq(webReq);
发送图片分享
//社交分享开放工具接口类,便于对社交分享开放接口的调用
import com.alipay.share.sdk.openapi.IAPApi;
//社交分享开放工具工厂类,用于创建工具实例
import com.alipay.share.sdk.openapi.APAPIFactory;
//图片消息内容定义类
import com.alipay.share.sdk.openapi.APImageObject;
//分享消息定义类
import com.alipay.share.sdk.openapi.APMediaMessage;
//分享消息请求包装类
import com.alipay.share.sdk.openapi.SendMessageToZFB;
示例代码
//创建工具对象实例,此处的APPID为上文提到的,申请应用生效后,在应用详情页中可以查到的支付宝应用唯一标识
IAPApi api = APAPIFactory.createZFBApi(getApplicationContext(),APPID,false);
//初始化一个APImageObject对象,组装图片内容对象
APImageObject imageObject = new APImageObject();
//支持三种方式分享图片,本地文件路径,图片二进制流,网上图片url,选取最方便的一个即可
//a)本地图片路径分享
//imageObject.setImagePath("/DCIM/Camera/test.jpg");
//b)图片二进制流分享
//imageObject.imageData = bitmapByte;
//c)图片URL分享
//imageObject.imageUrl = "http://www.yoururl.com/test.jpg";
imageObject.imageUrl = "http://www.yoururl.com/test.jpg";
//初始化一个APMediaMessage对象 ,组装分享消息对象
APMediaMessage mediaMessage = new APMediaMessage();
mediaMessage.mediaObject = imageObject;
//将分享消息对象包装成请求对象
SendMessageToZFB.Req req = new SendMessageToZFB.Req();
req.message = mediaMessage; req.transaction = "ImageShare"+String.valueOf(System.currentTimeMillis());
//发送请求
api.sendReq(req);
分享到生活圈
//社交分享开放工具接口类,便于对社交分享开放接口的调用
import com.alipay.share.sdk.openapi.IAPApi;
//社交分享开放工具工厂类,用于创建工具实例
import com.alipay.share.sdk.openapi.APAPIFactory;
//网页Card消息内容定义类
import com.alipay.share.sdk.openapi.APWebpageObject;
//分享消息定义类
import com.alipay.share.sdk.openapi.APMediaMessage;
//分享消息请求包装类
import com.alipay.share.sdk.openapi.SendMessageToZFB;
示例代码
//创建工具对象实例,此处的APPID为上文提到的,申请应用生效后,在应用详情页中可以查到的支付宝应用唯一标识
IAPApi api = APAPIFactory.createZFBApi(getApplicationContext(),APPID,false);
//初始化一个APWebPageObject对象,组装网页Card内容对象
APWebPageObject webPageObject = new APWebPageObject();
webPageObject.webpageUrl = "http://www.yoururl.com/";
////初始化APMediaMessage ,组装分享消息对象
APMediaMessage webMessage = new APMediaMessage();
webMessage.mediaObject = webPageObject;
webMessage.title = "分享标题";
webMessage.description = "分享内容描述";
//网页缩略图的分享支持bitmap和url两种方式,直接通过bitmap传递时bitmap最大为32K
//a)url方式
//webMessage.thumbUrl = "http://www.yoururl.com/thumb.jpg";
//b)Bitmap方式
//webMessage.setThumbImage(bitmap);
//bitmap.recycle();
webMessage.thumbUrl = "http://www.yoururl.com/thumb.jpg";
//将分享消息对象包装成请求对象
SendMessageToZFB.Req webReq = new SendMessageToZFB.Req();
webReq.message = webMessage;
webReq.transaction = "WebShare"+String.valueOf(System.currentTimeMillis());
//修改请求消息对象的scene场景值为ZFBSceneTimeLine
//9.9.5版本之后的支付宝不需要传此参数,用户会在跳转进支付宝后选择分享场景(好友、动态等)
webReq.scene = SendMessageToZFB.Req.ZFBSceneTimeLine;
//发送请求
api.sendReq(webReq);
其他辅助能力
检查当前手机上是否安装了支付宝
示例代码
//创建工具对象实例,此处的APPID为上文提到支付宝应用唯一标识
IAPApi api = APAPIFactory.createZFBApi(getApplicationContext(),APPID,false);
//判断是否安装了支付宝,返回boolean类型
boolean isZFBInstalled = api.isZFBAppInstalled();
检查当前手机上安装的支付宝版本是否支持分享到朋友
示例代码
//创建工具对象实例,此处的APPID为上文提到支付宝应用唯一标识
IAPApi api = APPIFactory.createZFBApi(getApplicationContext(),APPID,false);
//判断是否支持分享,返回boolean类型
boolean isZFBSupportApi = api.isZFBSupportAPI();
检查当前手机上的支付宝安装版本是否支持分享到动态
示例代码
//创建工具对象实例,此处的APPID为上文提到支付宝应用唯一标识
IAPApi api = APAPIFactory.createZFBApi(getApplicationContext(),APPID,false);
//判断是否支持生活圈
boolean isZFBSupportLife = api.isZFBAppInstalled() && api.getZFBVersionCode() >= 84;
响应返回码说明
错误码 | 说明 |
---|---|
ERR_OK | 分享成功 |
ERR_USER_CANCEL | 分享被用户取消 |
ERR_AUTH_DENIED | 分享鉴权失败,需要检查 appId、packageId 以及签名是否和注册的时候一致 |
ERR_SENT_FAILED | 分享过程中出现异常导致分享失败,可能由于网络或其他原因的失败 |
ERR_COMM | 分享参数错误 |
除以上错误码外,其他未知异常建议做失败处理 |
修改于 2023-11-27 02:59:31