您的位置:首页 > 移动开发 > Cocos引擎

quick-cocos2d-x 调用友盟(UMeng)的社区分享(Android平台)

2014-04-21 13:44 651 查看
按照官方的教程,正确配置环境。

我把那些依赖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找不到,我去。。。

结果直接硬着头皮写完,报错也没有了。程序也对了。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐