Открытие приложения facebook на указанной странице профиля
Я пытаюсь использовать некоторый код из SO, но он терпит неудачу:
Эти uri должны открыть правую часть приложения.
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);
Это обесценивается или что? Как выполнить эту задачу сейчас?
Ответы
Ответ 1
На самом деле это выглядит так. Эти 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 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);
Ответ 2
Не проще ли это?
Например, внутри 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. Получите свой id (большое количество) из http://graph.facebook.com/[userName]
Ответ 3
Это больше не работает
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"));
Ответ 4
Пока это невозможно, Facebook была удалена эта функция
Ответ 5
Для этого нам нужен "идентификатор страницы Facebook", вы можете получить его:
- со страницы перейдите к "О программе".
- перейдите к разделу "Дополнительная информация".
![ознакомление с описанием образа жизни]()
Чтобы открыть приложение facebook на указанной странице профиля,
вы можете сделать это:
String facebookId = "fb://page/<Facebook Page ID>";
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(facebookId)));
Ответ 6
Есть так много вопросов об этом, но этот код работает для меня. Facebook изменил там политику, поэтому для более подробной информации, пожалуйста, ознакомьтесь с официальным текстом Facebook СТРАНИЦА ЭКСПЛУАТАЦИИ ПРОГРАММЫ GRAPH
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);
Ответ 7
Для страниц facebook используйте вот так: http://fb://page/87268309621xxxx
Для личного идентификатора используйте следующее: http://fb://profile/87268309621xxxx