当我想在正常的Facebook应用程序上打开一个页面(通过我的应用程序调用它)时,我使用跟随字符串来制作Uri.parse()。
"fb://page/[pageId]"
,它正常工作
我这样做:
String uriStr = "fb://page/[pageId]";
Uri uri = Uri.parse(uriStr);
startActivity(new Intent(Intent.ACTION_VIEW, uri));
然而,当我尝试在facebook lite中打开它时,同样不起作用,我的应用程序因某些错误而关闭。 :(存在另一种方式?在facebook lite中打开同一页面的正确字符串是什么?有人知道吗?Thx
修改
LogCat错误:
android.content.ActivityNotFoundException: No Activity found to handle Intent
答案 0 :(得分:1)
int versionCode = getPackageManager().getPackageInfo("com.facebook.lite", 0).versionCode;
if (versionCode >= 3002850) { //newer versions osf fb app
link = "fb://facewebmodal/f?href=" + FACEBOOK_URL;
} else { //older versions of fb app
link = "fb://page/" + FACEBOOK_URL;
}
}
答案 1 :(得分:0)
uri = Uri.parse("fb://facewebmodal/f?href=" + url);
new Intent(Intent.ACTION_VIEW, uri);
答案 2 :(得分:0)
看起来像这样
String uri = "facebook://facebook.com/inbox";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
startActivity(intent);
或特殊活动
Intent intent = new Intent("android.intent.category.LAUNCHER");
intent.setClassName("com.facebook.katana", "com.facebook.katana.LoginActivity");
startActivity(intent);
希望它有所帮助。