Открытие приложения facebook на указанной странице профиля

Я пытаюсь использовать некоторый код из SO, но он терпит неудачу:

Они должны открывать правую часть приложения.

facebook://facebook.com/info?user=544410940     (id of the user. "patrick.boos" won't work)
facebook://facebook.com/wall?user=544410940   (will only show the info if you have added it as 

Я хочу открыть приложение facebook в указанном профиле. Это код, который я пытаюсь использовать. Номер UID профиля.

        String uri = "facebook://facebook.com/wall?user=417079614970109"; 
        intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
        startActivity(intent);

Это амортизируется или как? Как мне выполнить такую задачу сейчас?

 rds22 янв. 2013 г., 10:51
возможный дубликатOpen Facebook page from Android app?

Ответы на вопрос(7)

Пока это невозможно,Facebook был удален этот функционал

 08 янв. 2018 г., 10:17
Вы можете связать это?

Разве это не проще? Например, внутри onClickListener?

    try{ 

        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://profile/426253597411506"));
        startActivity(intent);

       }catch(Exception e){

         startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.facebook.com/appetizerandroid")));

      }

PS. Получить свой идентификатор (большое количество) изhttp://graph.facebook.com/[userName]

 25 авг. 2014 г., 10:54
Большое спасибо за подсказку
 11 мар. 2016 г., 19:44
принятый ответ не запустит действие, поэтому onResume не будет вызываться в случае сбоя

Для этого нам понадобится & quot; идентификатор страницы Facebook & quot ;, вы можете получить его:

from the page go to "About". go to "More Info" section.

introducir la descripción de la imagen aquí

To opening facebook app on specified profile page,

вы можете сделать это:

 String facebookId = "fb://page/<Facebook Page ID>";
  startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(facebookId)));

Есть так много вопросов по этому поводу, но этот код работает для меня. Facebook изменил там политику, поэтому для более подробной информации, пожалуйста, проверьте этот официальный FacebookGRAPH API EXPLORER PAGE

Intent intent = null;
    try {
        getPackageManager().getPackageInfo("com.facebook.katana", 0);
        String url = "https://www.facebook.com/"+idFacebook;
        intent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://facewebmodal/f?href="+url));
    } catch (Exception e) {
        // no Facebook app, revert to browser
        String url = "https://facebook.com/"+idFacebook;
        intent = new Intent(Intent.ACTION_VIEW);
        intent .setData(Uri.parse(url));
    }
    this.startActivity(intent);
Решение Вопроса

На самом деле это выглядит так. Эти URI работают только с самой последней версией приложения facebook. Вот почему мы пытаемся поймать.

public static Intent getOpenFacebookIntent(Context context) {

    try {
        context.getPackageManager()
                .getPackageInfo("com.facebook.katana", 0); //Checks if FB is even installed.
        return new Intent(Intent.ACTION_VIEW,
                Uri.parse("fb://profile/254175194653125")); //Trys to make intent with FB's URI
    } catch (Exception e) {
        return new Intent(Intent.ACTION_VIEW,
                Uri.parse("https://www.facebook.com/arkverse")); //catches and opens a url to the desired page
    }
}

В своей деятельности, чтобы открыть его, назовите его так:

Intent facebookIntent = getOpenFacebookIntent(this);
startActivity(facebookIntent);
 04 авг. 2012 г., 00:54
Как вы называете этот метод? например getOpenFacebookIntent (??) - что там с контекстом?
 26 янв. 2016 г., 13:18
Как указано в ответе Джареда вstackoverflow.com/questions/4810803/… есть новый адрес для намерения открыть приложение fb в версии 11+: fb: // facewebmodal / f? href = [FACEBOOK_URL] и ввести там обычный веб-URL.
 31 мар. 2014 г., 12:08
Вы также должны добавитьintent.setPackage("com.facebook.katana"); это делает активность на Facebook более быстрой!
 Jacek Kwiecień28 мая 2012 г., 19:38
большое спасибо вам. Полагаю, что большая часть потоков обесценилась. Там идет мой фейсбук, как sentiapps :)
 25 февр. 2013 г., 00:01
Просто, чтобы уточнить номер после профиля является идентификатор пользователя Facebook. Если у вас есть только имя пользователя, вы можете получить идентификатор из поля id изgraph.facebook.com/[userName]

Это больше не работает

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://profile/someProfile"));

Пожалуйста, попробуйте это вместо

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://facewebmodal/f?href=https://www.facebook.com/someProfile"));
 29 янв. 2018 г., 17:47
Спасибо! Но как насчет того, чтобы открыть Facebook Messenger?
 29 янв. 2018 г., 18:47
Открыть Facebook Messenger не имеет отношения к этому вопросу. Задайте новый

Для страницы Facebook используйте это:Http: // фб: // страница / 87268309621xxxx Для личного идентификатора используйте вот так:Http: // фб: // Профиль / 87268309621xxxx

Ваш ответ на вопрос