#include "../../../proj.android/protocols/android/PluginJniHelper.h" 需要写全路径
using namespace anysdk::framework;
JavaVM* vm;
env->GetJavaVM(&vm);
PluginJniHelper::setJavaVM(vm);
在C++层调用任何AnySDK Framework函数之前都需要调用init函数进行框架初始化,推荐在Java层初始化完成之后通知C++层初始化框架
在AppDelegate.cpp中加入如下代码:#include "../proj.android/protocols/include/AgentManager.h"
using namespace anysdk::framework;
#if CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID
std::string appKey = ""; "EC0BF947-8319-961E-10BB-BC9F3B9F964D";
std::string appSecret = ""; "5206485e6eb057be05fae504e4a4fc16";
std::string privateKey = ""; "21585140EC6B4DAE9067586B7C4E1B69";
std::string oauthLoginServer = "http://oauth.anysdk.com/api/OauthLoginDemo/Login.php";
AgentManager::getInstance()->init(appKey, appSecret, privateKey, oauthLoginServer);
AgentManager::getInstance()->loadAllPlugins();//注释掉会崩溃
////注:由于部分 SDK 在初始化时涉及到 SDK 闪屏的操作强烈建议在 onCreate 就调用 loadAllPlugins 接口(新框架在 Java 层也提供了该接口)
#endif
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
PluginWrapper.init(this);
PluginWrapper.setGLSurfaceView(Cocos2dxGLSurfaceView.getInstance());
PluginWrapper.loadAllPlugins();
}
#include "../proj.android\protocols\include\ProtocolShare.h" 类要继承ProtoColShare
using namespace anysdk::framework;
#if CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID
auto _pShare1 = AgentManager::getInstance()->getSharePlugin();
_pShare1->setResultListener(this);
ProtocolShare* _pShare = AgentManager::getInstance()->getSharePlugin();
if (!_pShare) return;
std::map info;
// title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间使用
info["title"] = "ShareSDK是一个神奇的SDK";
// titleUrl是标题的网络链接,仅在人人网和QQ空间使用
info["titleUrl"] = "http://sharesdk.cn";
// site是分享此内容的网站名称,仅在QQ空间使用
info["site"] = "ShareSDK";
// siteUrl是分享此内容的网站地址,仅在QQ空间使用
info["siteUrl"] = "http://sharesdk.cn";
// imagePath是图片的本地路径,Linked-In以外的平台都支持此参数,iOS下直接传文件名
//info["imagePath"] = "123.png"; //该图片文件需要拖入Xcode工程中
info["imagePath"] = "/sdcard/test.png";
// imageUrl是图片的网络路径,新浪微博,人人网,QQ空间支持此字段
info["imageUrl"] = "http://www.baidu.com/img/bdlogo.png?tn=63090008_1_hao_pg";
// url仅在微信(包括好友和朋友圈)中使用
info["url"] = "http://sharesdk.cn";
// text是分享文本,所有平台都需要这个字段
info["text"] = "ShareSDK支持如微信、新浪微博、腾讯微博等社交平台";
// comment是我对这条分享的评论,仅在人人网和QQ空间使用
info["comment"] = "无";
//微信SDK分享需要使用到的参数
info["mediaType"] = "1"; //分享类型: 0-文字 1-图片 2-网址
info["shareTo"] = "2"; //分享到:0-聊天 1-朋友圈 2-收藏
_pShare->share(info);
#endif
void WelcomeScene::onShareResult(ShareResultCode ret, const char* msg)
{
log("onShareResult %d", ret);
switch (ret)
{
case kShareSuccess://分享成功回调
log("onShareResult success");
//Director::getInstance()->end();
break;
case kShareFail://分享失败回调
log("onShareResult fail");
break;
case kShareCancel://分享取消回调
log("onShareResult cancel");
break;
case kShareNetworkError://分享网络出错回调
log("onShareResult error");
break;
default:
break;
}
}