2017-04-07 131 views
1

当我想在普通Facebook应用程序(通过我的应用程序调用它)上打开一个页面时,我使用后续字符串来制作Uri.parse()。 "fb://page/[pageId]",它工作正常 我这样做:String uri在Facebook Lite应用程序中打开页面

String uriStr = "fb://page/[pageId]"; 
Uri uri = Uri.parse(uriStr); 
startActivity(new Intent(Intent.ACTION_VIEW, uri)); 

然而,当我尝试了Facebook精简版中打开它,同样没有工作,我的应用程序是由一些错误关闭。 :(存在另一种方式什么是正确的字符串来打开Facebook的精简版在同一个页面任何人都知道THX

编辑

logcat的错误:???

android.content.ActivityNotFoundException: No Activity found to handle Intent 
+0

*我的应用程序由于某种错误而关闭* - 什么是错误?发布错误logcat。 –

+0

@Prera​​k Sola Thx,'android.content.ActivityNotFoundException:没有找到处理意图的活动,我也在那里编辑。 – Anita

回答

0
uri = Uri.parse("fb://facewebmodal/f?href=" + url); 

new Intent(Intent.ACTION_VIEW, uri); 
+0

Thx,但是这会返回相同的错误'android.content.ActivityNotFoundException:找不到处理Intent的Activity,只是为了确保我做了正确的事情,你说的这个URL是HTTP的,对吗? Thx – Anita

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); 

希望有帮助。

+0

嗨,真的thx为您的帮助,在这第一种情况下(“脸谱://facebook.com/inbox”),我通知我的pageId?因为我正在尝试为用户访问我的网页做一个按钮。 – Anita

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; }}

+0

Thx,但有同样的问题'android.content.ActivityNotFoundException:找不到处理Intent的活动 – Anita

相关问题