打开 Facebook 用户个人资料 Android

WiK*_*o.O 3 android facebook

当我尝试通过官方 Facebook 应用程序打开 Facebook 个人资料时,出现此错误:加载传记时出错,内容不可用。我尝试了很多代码,但没有。仅当设备上未安装 Facebook 应用程序时,浏览器才能正常工作。这是当前的代码:

try
 {
   Intent followIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://profile/"+id_facebook));
                                                            startActivity(followIntent);
   final Handler handler = new Handler();
   handler.postDelayed(new Runnable()
   {
     @Override
     public void run() {
         Intent followIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://profile/"+id_facebook));
         startActivity(followIntent);
     }
   }, 1000 * 2);
 }
catch (Exception e)
 {
   startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.facebook.com/"+id_facebook)));
   String errorMessage = (e.getMessage()==null)?"Message is empty":e.getMessage();
   Log.e("Unlock_ScreenActivity:FacebookAppNotFound" ,errorMessage);
 }
Run Code Online (Sandbox Code Playgroud)

更新:

当我放弃只放https URI时,Android让我在Facebook APP和浏览器之间进行选择,我喜欢它!所以我的问题得到了回答=D

Ala*_*tti 5

当天我遇到了类似的问题,发现当我尝试使用与您相同的方法时,它仅在我想查看我自己的个人资料(或 Facebook 应用程序中当前登录的用户)时才有效,但每当我试图展示其他人的 facebook 页面,所以我最终遇到了这个答案:

/sf/answers/1718320621/

长话短说,这不再可能,到目前为止唯一的解决方法是让 facebook 像您提到的那样在 facebook 内加载网页,但不同之处在于,如果用户无法在应用程序之间进行选择或已经已选择另一个浏览器作为默认应用程序,您将无法再通过 facebook 打开该页面。使用此代码,您可以确保它始终使用 facebook 应用程序打开该页面,如果它已安装,或者它将使用您的默认浏览器加载。这是我在我的应用程序中使用的代码:

try {

        mActivity.getPackageManager().getPackageInfo("com.facebook.katana", 0);
            String url = "https://www.facebook.com/profile.php?id=USER_ID"

            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://facewebmodal/f?href="+url));
        }
        mActivity.startActivity(intent);

   } catch (Exception e) {

       Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.facebook.com/profile.php?id=USER_ID"));
       mActivity.startActivity(intent);

       e.printStackTrace();

   }
Run Code Online (Sandbox Code Playgroud)