quick-cocos2d-x 调用友盟(UMeng)的社区分享(Android平台)
2014-04-21 13:44
651 查看
按照官方的教程,正确配置环境。
我把那些依赖jar包通过build_path加载到项目中会报错。说sourceType是ClassDefNotFound。
然后直接把libs复制到项目里面,就解决问题了。但是编译的时候没有错,运行时会报这个错,没搞懂。
quick那边模仿luajavabridge、写一段调用代码:
贴上android客户端的接口:(主要是一个静态的调用方法)
上面的分享,既可以分享网络URL的图片,也可以分享本地的截图图片。
需要注意的是:注册监听的时候、用代码补全功能时,SnsPostListener找不到,我去。。。
结果直接硬着头皮写完,报错也没有了。程序也对了。。。
我把那些依赖jar包通过build_path加载到项目中会报错。说sourceType是ClassDefNotFound。
然后直接把libs复制到项目里面,就解决问题了。但是编译的时候没有错,运行时会报这个错,没搞懂。
quick那边模仿luajavabridge、写一段调用代码:
local javaClassName = "com.yourclass.name.MainActivity" local javaMethodName = "callUMengSDK" local javaParams = { "params1", "params2", function(event) callbackMethod(event) printf("Java method callback value is [%s]", event) end } local javaMethodSig = "(Ljava/lang/String;Ljava/lang/String;I)V" luaj.callStaticMethod(javaClassName, javaMethodName, javaParams, javaMethodSig)
贴上android客户端的接口:(主要是一个静态的调用方法)
public static void callUMengSDK(final String title, final String message, final int luaCallbackFunction) { s_instance.runOnUiThread(new Runnable() { @Override public void run() { //注册监听 mController.registerListener(new SnsPostListener() { @Override public void onStart() { Toast.makeText(s_instance, "xxxx分享开始", Toast.LENGTH_SHORT).show(); } @Override public void onComplete(SHARE_MEDIA platform, int eCode,SocializeEntity entity) { if(eCode == 200) { Toast.makeText(s_instance, "yyyy分享成功", Toast.LENGTH_SHORT).show(); s_instance.runOnGLThread(new Runnable() { @Override public void run() { Cocos2dxLuaJavaBridge.callLuaFunctionWithString( luaCallbackFunction, "分享咯~~哇哇哇"); Cocos2dxLuaJavaBridge.releaseLuaFunction(luaCallbackFunction); } }); }else { Toast.makeText(s_instance, "分享失败、你懂得~", Toast.LENGTH_SHORT).show(); s_instance.runOnGLThread(new Runnable() { @Override public void run() { Cocos2dxLuaJavaBridge.callLuaFunctionWithString( luaCallbackFunction, "分享失败~~JJoo"); Cocos2dxLuaJavaBridge.releaseLuaFunction(luaCallbackFunction); } }); } } }); mController.setShareContent("来自程序猴子的分享~~~"); // mController.setShareMedia(new UMImage(s_instance, // "http://www.umeng.com/images/pic/banner_module_social.png")); mController.setShareMedia(new UMImage(s_instance, new File("/storage/sdcard0/picture_final/pic.jpg"))); mController.openShare(s_instance, false); } }); }
上面的分享,既可以分享网络URL的图片,也可以分享本地的截图图片。
需要注意的是:注册监听的时候、用代码补全功能时,SnsPostListener找不到,我去。。。
结果直接硬着头皮写完,报错也没有了。程序也对了。。。
相关文章推荐
- Cocos2d-x游戏在Android平台使用友盟社会化组件进行截图分享的实现
- 如何使用友盟 Cocos2d-x 分享组件实现 Android/iOS 分享功能
- cocos2d-x(quick--cocos2d-x)引擎开发的游戏在android平台上,锁屏,按HOME键,重反游戏后黑屏问题
- Android集成友盟社会化分享组件 ---- 分享到新浪、微信、QQ空间、腾讯微博等平台
- Android Cocos2d-x游戏集成友盟社会化组件分享功能
- Android:Umeng(友盟) 微信,QQ,新浪分享 (三)
- Android集成友盟社会化分享组件 ---- 分享到新浪、微信、QQ空间、腾讯微博等平台
- 友盟分享单个平台时的调用方法
- 【cocos2d-js官方文档】二十四、如何在android平台上使用js直接调用Java方法
- Android Cocos2d-x游戏集成友盟社会化组件分享功能
- 【cocos2d-js官方文档】二十四、如何在android平台上使用js直接调用Java方法
- 如何使用友盟 Cocos2d-x 分享组件实现 Android/iOS 分享功能
- 【cocos2d-js官方文档】二十四、如何在android平台上使用js直接调用Java方法
- cocos2d-js如何在android平台上使用js直接调用Java方法
- Android调用平台功能具体技巧分享
- cocos2d-js如何在android平台上使用js直接调用Java方法
- Android Cocos2d-x游戏集成友盟社会化组件分享功能
- 友盟分享——Android App接入微信开放平台注意事项
- 友盟分享——Android App接入微信开放平台注意事项
- Android调用平台功能具体技巧分享