J'essaie d'utiliser du code de SO mais cela échoue:
Ce sont des uri censés ouvrir la bonne section de l'application.
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
Ce que je veux, c'est ouvrir l'application facebook sur un profil que j'ai spécifié. C'est un code que j'essaye. Le numéro est l'UID du profil.
String uri = "facebook://facebook.com/wall?user=417079614970109";
intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
startActivity(intent);
Est-ce déprécié ou quoi? Comment puis-je accomplir une telle tâche maintenant?
En fait, ça ressemble à ça. Ces adresses URI ne fonctionnent qu'avec la version la plus récente de l'application Facebook. C'est pourquoi nous essayons d'attraper.
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
}
}
Dans votre activité, appelez-la comme suit:
Intent facebookIntent = getOpenFacebookIntent(this);
startActivity(facebookIntent);
N'est-ce pas plus facile? Par exemple, dans un 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 Obtenez votre identifiant (le grand nombre) de http://graph.facebook.com/[userName]
Cela ne fonctionne plus
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://profile/someProfile"));
S'il vous plaît essayer ceci à la place
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://facewebmodal/f?href=https://www.facebook.com/someProfile"));
Pour l'instant ce n'est pas possible, Facebook a été supprimé de cette fonctionnalité
Il y a tellement de questions à ce sujet, mais ce code est efficace pour moi. Facebook a changé sa politique. Pour plus de détails, consultez cette page sur 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);
Pour ce faire, nous avons besoin de "l'identifiant de la page Facebook", vous pouvez l'obtenir:
tu peux le faire:
String facebookId = "fb://page/<Facebook Page ID>";
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(facebookId)));
Pour une page facebook, utilisez comme ceci: http: // fb: // page/87268309621xxxx Pour un identifiant personnel, utilisez ceci: http: // fb: // profile/87268309621xxxx