使用 Facebook 应用程序打开 Facebook Url
Open Facebook Url with Facebook application
我想从我的 android 应用程序打开 Facebook link。
URL 看起来像 http://www.facebbok.com/abcxyz。它应该在 Facebook 应用程序中打开 'abcxyz' 页面,但它始终在浏览器中打开。
代码:
try
{
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
activityContext.startActivity(browserIntent);
}
catch (ActivityNotFoundException ex)
{
ex.printStackTrace();
}
我的androidOS版本是6.0.1.
我在使用 Instagram http://www.instagram.com/abcxyz 时遇到了同样的问题,而 Youtube 等其他应用程序可以正常使用。
您应该使用 Facebook 的自定义 url 方案来强制应用打开您的页面,如下所示:
public Intent getFacebookIntent(String url) {
PackageManager pm = context.getPackageManager();
Uri uri = Uri.parse(url);
try {
ApplicationInfo applicationInfo = pm.getApplicationInfo("com.facebook.katana", 0);
if (applicationInfo.enabled) {
uri = Uri.parse("fb://facewebmodal/f?href=" + url);
}
}
catch (PackageManager.NameNotFoundException ignored) {
}
return new Intent(Intent.ACTION_VIEW, uri);
}
我想从我的 android 应用程序打开 Facebook link。 URL 看起来像 http://www.facebbok.com/abcxyz。它应该在 Facebook 应用程序中打开 'abcxyz' 页面,但它始终在浏览器中打开。
代码:
try
{
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
activityContext.startActivity(browserIntent);
}
catch (ActivityNotFoundException ex)
{
ex.printStackTrace();
}
我的androidOS版本是6.0.1.
我在使用 Instagram http://www.instagram.com/abcxyz 时遇到了同样的问题,而 Youtube 等其他应用程序可以正常使用。
您应该使用 Facebook 的自定义 url 方案来强制应用打开您的页面,如下所示:
public Intent getFacebookIntent(String url) {
PackageManager pm = context.getPackageManager();
Uri uri = Uri.parse(url);
try {
ApplicationInfo applicationInfo = pm.getApplicationInfo("com.facebook.katana", 0);
if (applicationInfo.enabled) {
uri = Uri.parse("fb://facewebmodal/f?href=" + url);
}
}
catch (PackageManager.NameNotFoundException ignored) {
}
return new Intent(Intent.ACTION_VIEW, uri);
}