oneKeyShare方便但是ui太过于死板,不利于扩展,所以还是自己来调用api
以朋友圈为例:
public void Momments() {
//1 获取设置参数实例
Platform.ShareParams sp = new Platform.ShareParams();
//2 设置参数
sp.setTitle(news.title);
sp.setText(news.title);
sp.setImageUrl(news.thumb);
sp.setUrl("http://www.xingyewuye.com");
sp.setShareType(Platform.SHARE_WEBPAGE);
//3.获取平台对象
Platform momments = ShareSDK.getPlatform(WechatMoments.NAME);
//setListener
momments.setPlatformActionListener(new PlatformActionListener() {
@Override
public void onError(Platform arg0, int arg1, Throwable arg2) {
//操作失败啦,打印提供的错误,方便调试
arg2.printStackTrace();
showToast(arg2.getMessage());
}
@Override
public void onComplete(Platform arg0, int arg1, HashMap<String, Object> arg2) {
//操作成功,在这里可以做后续的步骤
//这里需要说明的一个参数就是HashMap<String, Object> arg2
//这个参数在你进行登录操作的时候里面会保存有用户的数据,例如用户名之类的。
showToast("分享成功");
}
@Override
public void onCancel(Platform arg0, int arg1) {
//用户取消操作会调用这里
showToast("分享取消");
}
}); // 设置分享事件回调
momments.share(sp);
}
新浪和微信都必须打包才可以实现分享
qq都可以实现分享