软件接入友盟分享,按照友盟的官方文档,实现了分享的功能。
在使用的时候需要注意的部分:
1> 分享所在的Activity里复写onActivityResult方法,注意不可在fragment中实现,如果在fragment中调用分享,在fragment依赖的Activity中实现,如果不实现onActivityResult方法,会导致分享或回调无法正常进行
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
}
2> 回调的监听
private UMShareListener umShareListener = new UMShareListener() {
@Override
public void onStart(SHARE_MEDIA share_media) {
Toast.makeText(getActivity(), share_media + " 分享启动中", Toast.LENGTH_SHORT).show();
}
@Override
public void onResult(SHARE_MEDIA platform) {
if (platform.name().equals("WEIXIN_FAVORITE")) {
Toast.makeText(getActivity(), platform + " 收藏成功啦", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getActivity(), platform + " 分享成功啦", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onError(SHARE_MEDIA platform, Throwable t) {
Toast.makeText(getActivity(), platform + " 分享失败啦", Toast.LENGTH_SHORT).show();
if (t != null) {
Logger.d("throw:" + t.getMessage());
}
}
@Override
public void onCancel(SHARE_MEDIA platform) {
Toast.makeText(getActivity(), platform + " 分享取消了", Toast.LENGTH_SHORT).show();
}
};