2017-04-07 83 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

相關問題