从libgdx打开android应用程序
我会通过libgdx上的按钮(Android版)在facebook上分享一个链接 此代码有效,但仅启动web浏览器:从libgdx打开android应用程序,android,facebook,libgdx,Android,Facebook,Libgdx,我会通过libgdx上的按钮(Android版)在facebook上分享一个链接 此代码有效,但仅启动web浏览器: Gdx.net.openURI("https://www.facebook.com/sharer/sharer.php?u=http://www.example.com"); 我想用Facebook应用程序打开此共享视图 如果有人能帮忙 谢谢这是在libgdx中调用Android api的通用方法。我不认为Facebook应用程序实际上有一个“共享”活动,你可以不在你的应用程序
Gdx.net.openURI("https://www.facebook.com/sharer/sharer.php?u=http://www.example.com");
我想用Facebook应用程序打开此共享视图
如果有人能帮忙
谢谢这是在libgdx中调用Android api的通用方法。我不认为Facebook应用程序实际上有一个“共享”活动,你可以不在你的应用程序中实现Facebook SDK,所以我只做一个简单的Facebook链接示例 创建如下界面:
public interface FacebookLinkHandler{
public void openFacebookPage(String facebookAppURI, String facebookWebURL);
}
然后在游戏子类中,添加以下接口之一作为构造函数参数:
public class MyGame extends Game{
//...
FacebookLinkHandler mFacebookLinkHandler;
public MyGame(..., FacebookLinkHandler facebookLinkHandler){
//...
mFacebookLinkHandler = facebookLinkHandler;
}
//And when you want to go to the link:
mFacebookLinkHandler.openFacebookPage(
"fb://profile/4", "https://www.facebook.com/zuck");
}
然后,在桌面应用程序中,您可以创建仅使用回退的版本:
public class DesktopFacebookLinkHandler implements FacebookLinkHandler{
public void openFacebookPage(String facebookAppURI, String facebookWebURL){
Gdx.net.openURI(facebookWebURL);
}
}
并在DesktopStarter类中将其传递给MyGame构造函数。然后在Android项目中,您可以选择:
public class AndroidFacebookLinkHandler implements FacebookLinkHandler{
Activity mActivity;
public AndroidFacebookLinkHandler(Activity activity){
mActivity = activity;
}
public void openFacebookPage(String facebookAppURI, String facebookWebURL){
Intent intent = null;
try {
mActivity.getPackageManager().getPackageInfo("com.facebook.katana", 0);
intent = new Intent(Intent.ACTION_VIEW, Uri.parse(facebookAppURI));
} catch (NameNotFoundException e) {
intent = new Intent(Intent.ACTION_VIEW, facebookWebURL));
}
mActivity.startActivity(intent);
}
}
做同样的事情。在AndroidStarter类中实例化MyGame类时,将其实例传递给MyGame类。执行此操作:。如果您也在运行游戏的桌面版本,那么您需要创建一个用于处理此问题的界面,并在Android项目中创建该界面的实现,并将其传递给您的游戏。感谢您的帮助!这可以帮助我,但如何通过libgdx启动intent呢。我看了一个关于接口及其实现的教程,但我不理解。