- (void)screenShare
{
/**
* 使用ShareSDKExtension插件可以实现屏幕截图分享,对于原生界面和OpenGL的游戏界面同样适用
* 通过使用SSEShareHelper可以调用屏幕截图分享方法,在方法的第一个参数里面可以取得截图图片和分享处理入口,只要构造分享内容后,将要分享的内容和平台传入分享处理入口即可。
*
* 小技巧:
* 当取得屏幕截图后,如果shareHandler入口不满足分享需求(如截取屏幕后需要弹出分享菜单而不是直接分享),可以不调用shareHandler进行分享,而是在block中写入自定义的分享操作。
* 这样的话截屏分享接口实质只充当获取屏幕截图的功能。
**/
[SSEShareHelper screenCaptureShare:^(SSDKImage *image, SSEShareHandler shareHandler) {
if (!image)
{
//如果无法取得屏幕截图则使用默认图片
image = [[SSDKImage alloc] initWithImage:[UIImage imageNamed:@"shareImg.png"] format:SSDKImageFormatJpeg settings:nil];
}
//构造分享参数
NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
[shareParams SSDKSetupShareParamsByText:_model.albumName
images:@[image]
url:nil
title:nil
type:SSDKContentTypeImage];
//回调分享
if (shareHandler)
{
shareHandler (SSDKPlatformTypeQQ, shareParams);
}
}
onStateChanged:^(SSDKResponseState state, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error) {
switch (state) {
case SSDKResponseStateSuccess:
{
[AlertView alertWithTitle:@"分享成功"];
break;
}
case SSDKResponseStateFail:
{
[AlertView alertWithTitle:@"分享失败"];
break;
}
case SSDKResponseStateCancel:
{
[AlertView alertWithTitle:@"分享取消"];
break;
}
default:
break;
}
}];
}