如果Facebook应用程序可用,我想从我的Android应用程序打开我的Facebook页面 - 如果没有:此页面应该在默认浏览器中打开.
为此,我尝试了以下代码:
try {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://profile/MY_PAGE_ID"));
startActivity(intent);
} catch (Exception e) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.facebook.com/MY_PAGE_NAME")));
}
Run Code Online (Sandbox Code Playgroud)
问题是:我这里有一个Android设备,最新版本的Facebook.如果我想从我的应用程序打开Facebook页面,Facebook应用程序将打开,但没有我的页面.
我只看到消息:
无法加载时间线.
怎么了?
我有一个Google Plus
页面
https://plus.google.com/u/0/b/101839105638971401281/101839105638971401281/posts
和一个Android应用程序.我想在我的应用中打开此页面.我不想打开浏览器!
这将打开浏览器:
URL="https://plus.google.com/b/101839105638971401281/101839105638971401281/posts";
uri = Uri.parse(URL);
it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
Run Code Online (Sandbox Code Playgroud)
这次崩溃:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setClassName("com.google.android.apps.plus", "com.google.android.apps.plus.phone.UrlGatewayActivity");
intent.putExtra("customAppUri", "10183910563897140128");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
提前致谢!
[解决了]
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://plus.google.com/101839105638971401281/posts")));
Run Code Online (Sandbox Code Playgroud)
使用此解决方案,用户可以选择Google Plus APP或打开浏览器.如果选择APP,则不会发生崩溃.
我正在尝试使用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
Run Code Online (Sandbox Code Playgroud)
我想要的是在我指定的配置文件上打开Facebook应用程序.这是我正在尝试的代码.该数字是配置文件的UID.
String uri = "facebook://facebook.com/wall?user=417079614970109";
intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
是折旧还是什么?我现在如何完成这项任务?
我想知道如何在Facebook和Twitter应用程序中打开我的网站的URL链接,只要它安装在设备上,如果不是,我希望在浏览器中打开页面.
目前我使用以下链接:
fb://profile/fbID
twitter://user?screen_name=username
Run Code Online (Sandbox Code Playgroud)
目前,如果安装了应用程序,它可以正常工作,但如果未安装应用程序,链接将失败,如果您尝试在桌面浏览器中打开它,则Twitter链接将完全失败.
谁能知道我怎么回事?
是的我知道有类似的问题,但没有人回答,所以我想我会试试这个,干杯.
我曾经使用下面的代码从我的应用程序打开我的Facebook页面,但这不再起作用于2014年6月21日发布的facebook v11.0.0.11.23,任何想法如何在新的Facebook应用程序中打开页面?要注意它现在打开Facebook应用程序,但没有打开指定页面,它曾经在最新更新之前工作正常
public void openFacebookPage() {
Intent intent = null;
try {
context.getPackageManager().getPackageInfo("com.facebook.katana", 0);
intent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://page/<id here>"));
//tried this also
//intent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://profile/<id here>"));
} catch (Exception e) {
intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.facebook.com/<name here>"));
}
context.startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud) 我在我的Android应用程序中有一个webview,我想在其中打开一个链接,将facebook应用程序打开到我的粉丝页面.在iOS中,您可以说fb:// ...它将打开Facebook应用程序.有没有办法在Android中做到这一点?我已经覆盖了shouldOverrideUrlLoading,所以我可以拦截它并在需要时启动一个intent.
Android Facebook应用程序是否具有其他应用程序可用于启动Facebook应用程序并转到特定页面的Intent?
例如,当有人点击我的应用程序中的某个按钮时,我希望他们被带到Facebook到特定公司的公共Facebook页面.为此启动Web浏览器活动很容易,但用户很可能没有登录浏览器等...
我认为如果我可以使用Intent(如果存在的话......)启动Facebook应用程序并将用户带到应用程序中的特定页面,那将是很好的.这样用户已经登录并可以与页面交互,喜欢它等等...
这样的意图存在吗?如果是这样,我会在哪里找到更多相关信息?我一直在浏览Facebook的开发者文档,但我没有看到任何关于此的内容.
我在webapp上成功使用Facebook共享方法,就像使用FB JS SDK一样.
FB.ui({
method: 'share',
href: 'https://myapp.com',
})
Run Code Online (Sandbox Code Playgroud)
但是,如果用户使用移动设备访问我的webapp,则需要他们通过浏览器登录Facebook,即使他们在设备上安装了主Facebook应用程序.是否有可能使用本机Facebook应用程序启动共享对话框(如果可用),如果没有回退到浏览器中的Facebook以进行共享.
在我的 Android 应用程序中,我有一个 WebView。我希望在 WebView 中单击的每个链接都可以在我的设备上启动已注册的应用程序(如果有),否则在外部浏览器中打开。例如,如果用户从 WebView 中单击 Facebook 页面链接,则应启动 Facebook 应用程序(如果 facebook 已在设备上注册以处理 facebook 链接)。如果没有注册应用程序,它应该启动外部浏览器(即,它不应该在同一 WebView 中加载页面)。
目前(默认情况下),WebView 仅加载在 WebView 自身内单击的任何链接。
我意识到我需要重写 shouldOverrideUrlLoading 来拦截这些链接点击:
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// what should go here to trigger the registered app or fall back to external browser for all link clicks in the WebView?
}
});
Run Code Online (Sandbox Code Playgroud)
我还查看了意图过滤器,但这似乎与此要求相反(意图过滤器似乎是我注册 Android 应用程序以处理其他地方的网络点击的一种方式)。
更新1:
我不想拦截任何特定的主机名或方案 - 我希望在我的网络视图中单击的每个链接都“委托”给android,其中android决定是否启动注册的应用程序,弹出一个选项供用户选择在哪个应用程序中打开,或在网络浏览器中打开,具体取决于用户设置。
具体来说,如果我点击https://www.facebook.com/blah的链接,它应该在 Facebook …
我在尝试打开用户的 facebook 页面时收到此错误消息。奇怪的是,如果我与该用户有共同的朋友,则页面加载没有问题,但我不认为这是默认行为,否则我无法理解user_link
许可的含义。
Facebook 已批准user_link
许可,我通过了应用程序审核。
我从开发者帐户更改了应用程序调用的 API 版本v3.1
。
我得到的方式user_link
LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("user_gender", "user_link"));
LoginManager.getInstance().registerCallback(callbackManager,
new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
makeGraphRequest(loginResult.getAccessToken());
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException error) {
}
});
public void makeGraphRequest(AccessToken token) {
GraphRequest request = GraphRequest.newMeRequest(
token, (object, response) -> {
try {
userStorage.setUserProfileUrl(object.getString(AppConstants.LINK));
} catch (JSONException e) {
e.printStackTrace();
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "name,gender,link,picture.width(700).height(700)");
request.setParameters(parameters); …
Run Code Online (Sandbox Code Playgroud) 当我尝试通过官方 Facebook 应用程序打开 Facebook 个人资料时,出现此错误:加载传记时出错,内容不可用。我尝试了很多代码,但没有。仅当设备上未安装 Facebook 应用程序时,浏览器才能正常工作。这是当前的代码:
try
{
Intent followIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://profile/"+id_facebook));
startActivity(followIntent);
final Handler handler = new Handler();
handler.postDelayed(new Runnable()
{
@Override
public void run() {
Intent followIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://profile/"+id_facebook));
startActivity(followIntent);
}
}, 1000 * 2);
}
catch (Exception e)
{
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.facebook.com/"+id_facebook)));
String errorMessage = (e.getMessage()==null)?"Message is empty":e.getMessage();
Log.e("Unlock_ScreenActivity:FacebookAppNotFound" ,errorMessage);
}
Run Code Online (Sandbox Code Playgroud)
更新:
当我放弃只放https URI时,Android让我在Facebook APP和浏览器之间进行选择,我喜欢它!所以我的问题得到了回答=D
我试图从我的应用程序在Android和ios中打开一个Facebook页面.在ios中,页面显示LIKE按钮,但在android中它显示SUBSCRIBE按钮.任何人都可以告诉我如何将其更改为像android中的按钮.我已经给出了下面的截图.
android ×10
facebook ×10
ios ×2
google-plus ×1
html ×1
java ×1
javascript ×1
twitter ×1
url ×1