最近产品提出一个需求,需要在游戏中能够跳转到facebook
中打开我们的游戏主页。当时也没有多想,直接就用device.openURL()
来打开产品发过来的链接。
然后今天测试的时候就发现了问题,点击facebook
按钮无法跳转到facebook 应用,只能打开网页。在网上查了好久的资料,才发现是因为facebook的SDK升级后导致的。
下面说下我的做法,是能够完成产品要求的。当然,涉及到Lua
和Java
的交互
Lua代码:
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详细的交互就不贴出来了~