cocos2dx-lua安卓跳转到facebook

2023-03-01 14:41:31 浏览数 (1)

最近产品提出一个需求,需要在游戏中能够跳转到facebook中打开我们的游戏主页。当时也没有多想,直接就用device.openURL()来打开产品发过来的链接。

然后今天测试的时候就发现了问题,点击facebook按钮无法跳转到facebook 应用,只能打开网页。在网上查了好久的资料,才发现是因为facebook的SDK升级后导致的。

下面说下我的做法,是能够完成产品要求的。当然,涉及到LuaJava的交互 Lua代码:

代码语言:javascript复制
function AppInfo.openFacebook(name)
    local os = device.platform
    if os == "android" then
        local sig = "(Ljava/lang/String;)V"
        local args = {name}
        luaj.callStaticMethod(AppInfo.JAVA_CLASSNAME, "openFacebook", args, sig)
    end
end

java代码

代码语言:javascript复制
static void openFacebook(final String name){
    try {
        GameConfig.appContext.getPackageManager().getPackageInfo("com.facebook.katana", 0);
        GameConfig.appContext.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("fb://page/"   facebookId)));
    } catch (Exception e) {
        GameConfig.appContext.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.facebook.com/"   name)));
    }
}

Lua与Java详细的交互就不贴出来了~

0 人点赞