如何在用户的时间线上打开Facebook应用程序?

时间:2016-01-29 11:01:41

标签: java android facebook android-intent package-managers

我正在尝试从我的应用程序打开一个Facebook应用程序,但我需要它去特定用户的时间轴。我可以在手机浏览器中打开它工作正常,但我无法在Facebook应用程序中打开它...我知道facebook改变了以前的方式,我正在使用facebook-android-sdk:4.6.0这是我的代码:< / p>

public Intent getOpenFacebookIntent(String userId) {
        Log.e(TAG, "pid "+ userId);
        try {
            getPackageManager().getPackageInfo("com.facebook.katana", 0);
            return new Intent(Intent.ACTION_VIEW, Uri.parse("fb://profile/" + userId));

        } catch (Exception e) {
            return new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.facebook.com/" + userId));

        }
    }

日Thnx!

2 个答案:

答案 0 :(得分:1)

做一点改变

"https://www.facebook.com/profile.php?id=" + userId

试试这个。

此外,仅供您使用用户名而不是userId时,仅供参考:https://www.facebook.com/" + userId

答案 1 :(得分:0)

唯一对我有用的代码是:

public Intent getOpenFacebookIntent(String userId) {
        Log.e(TAG, "pid "+ userId);

        String facebookUrl = "https://www.facebook.com/"+userId;
        try {
            getPackageManager().getPackageInfo("com.facebook.katana", 0);

            return new Intent(Intent.ACTION_VIEW, Uri.parse("fb://facewebmodal/f?href=" + facebookUrl));

        } catch (Exception e) {
            return new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.facebook.com/app_scoped_user_id/" + userId));

        }
    }