如何在Android中的应用程序中启动Facebook应用程序?
答案 0 :(得分:66)
答案 1 :(得分:46)
要启动默认的启动器活动:
Intent intent = new Intent("android.intent.category.LAUNCHER");
intent.setClassName("com.facebook.katana", "com.facebook.katana.LoginActivity");
startActivity(intent);
我做了一些研究,因为我想找到它:)。我找到了一些方法,可以轻松地开始不同的活动。但我不能保证这会在facebook升级后起作用。我用我当前的Facebook应用程序测试它,它的工作原理。至少我用“ad start shell”用“am start .....”测试了它。
基本是:
String uri = "facebook://facebook.com/inbox";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
startActivity(intent);
未检查facebook.com部分。你甚至可以输入:“facebook://gugus.com/inbox”具有相同的效果。
如何在adb中执行此操作。
1. Start adb shell through console: "adb shell"
2. run: "am start -a android.intent.action.VIEW -d facebook://facebook.com/inbox"
这将启动收件箱活动。 这里有一些Uris的例子。我认为他们能说出自己的所作所为。
facebook://facebook.com/inbox
facebook://facebook.com/info?user=544410940 (id of the user. "patrick.boos" won't work)
facebook://facebook.com/wall
facebook://facebook.com/wall?user=544410940 (will only show the info if you have added it as friend. otherwise redirects to another activity)
facebook://facebook.com/notifications
facebook://facebook.com/photos
facebook://facebook.com/album
facebook://facebook.com/photo
facebook://facebook.com/newsfeed
你可以给某些uris提供additianl参数,但我没有时间浏览这些活动的所有代码。
我是怎么做到的?看看apktool。
答案 2 :(得分:9)
如果有人想直接打开照片
public Intent getOpenFacebookIntent(String pId) {
try {
activity.getPackageManager().getPackageInfo("com.facebook.katana", 0);
return new Intent(Intent.ACTION_VIEW, Uri.parse("facebook:/photos?album=0&photo=" + pId + "&user=" + ownerId));
} catch (Exception e) {
return new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.facebook.com/"));
}
}
startActivity(getOpenFacebookIntent(pid));
其中ownerId
是上传此图片的用户的Facebook id
,而pid
是PhotoId
享受:))
答案 3 :(得分:1)
只有当您触发的Intent操作与您要启动的其他应用程序的intent过滤器匹配时,才能在您的Android应用程序中启动另一个应用程序。
正如@patrick演示的那样,将facebook.apk下载到模拟器并尝试通过adb shell命令运行它。它工作正常..
将Intent过滤器和数据作为Uri传递
答案 4 :(得分:0)
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.facebook.com/groups/14531755***6215/")));
这将直接在fb应用程序中打开ID为 14531755 *** 6215 的Facebook组