http://www.verydemo.com/demo_c131_i27055.html
Conflict between Android SDK and Facebook for Android app
Q:
I have an app that uses the Facebook Android SDK. All works well (Facebook login, Like functionality) until I installed the Facebook for Android 3rd party application.
Without the 3rd party app, I get the WebView when choosing to login to Facebook. But with the Facebook app installed, user gets directed to the FB app for login (I believe it launches the activity for that app).
Is there a way to prevent my app from using the 3rd party app for anything Facebook related that I do on my app, and only use the WebView from the SDK for login?
Thanks in advance.
A:
Alrighty, read through the source code of Facebook SDK and reviewed the authorize
method, and found my answer.
Found out that it's not a conflict but that's just how the way it works. The Facebook SDK prefers Single Sign-On, where available which means it will definitely use the Facebook for Android app for Login.
In the purposes of answering the question (how to prevent app from using 3rd party app), this is what I did:
mFacebook.authorize(context,
newString[]{"user_photos","friends_photos","publish_stream"},
-1,
(DialogListener) dialogListener);
newString[]{"user_photos","friends_photos","publish_stream"},
-1,
(DialogListener) dialogListener);
I just added the 3rd parameter which is the activityCode. Facebook SDK checks whether the value is greater than or equal to zero, and use Single Sign-on.
And now I know that the ideal and preferred way is to use the Facebook SSO method.
相关推荐
### Facebook OAuth2.0 API 调用方法与常用接口详解 #### 一、Facebook OAuth2.0 API 概述 OAuth2.0 是一种开放标准授权协议,它为应用程序提供了一个安全的方法来授权第三方应用访问用户的资源,而无需透露用户名...
https://graph.facebook.com/oauth/authorize? client_id=APP_ID& redirect_uri=REDIRECT_URI& scope=SCOPE ``` - **`client_id`**:这是你在Facebook开发者平台注册应用时获得的应用ID。 - **`redirect_uri`**:这...
在移动应用开发领域,uniapp是一个非常流行的跨平台框架,它允许开发者使用一套代码来构建iOS、Android以及Web等多个平台的应用。本知识点聚焦于在uniapp中实现APP端的支付宝登录以及人脸认证功能。 首先,我们需要...
Android SDK 为 Android 开发人员提供了一种快速简便的方法来快速集成移动支付,而无需自己编写与 Authorize.Net 网关通信所必需的样板代码。 SDK 由以下 Authorize.Net API 组成: * AIM - Advanced Integration ...
通过Facebook登录", user_omniauth_authorize_path(:facebook) %> ``` 最后,确保在`config/environments/development.rb`和生产环境中启用Omniauth: ```ruby config.middleware.use OmniAuth::Builder do ...
`laravel-authorize`还支持自定义授权逻辑,可以在`app/Providers/AuthServiceProvider.php`中定义`gate()`方法,或者在Policy类中重写默认行为。 ### 4. 中间件 此外,还可以使用中间件进行授权。创建一个中间件...
这里,'YOUR_FACEBOOK_APP_ID'和'YOUR_FACEBOOK_APP_SECRET'需要替换为你在Facebook开发者平台上注册应用时获得的ID和密钥。scope定义了申请的权限,info_fields则是你希望获取的用户信息。 然后,我们需要在Devise...
在Laravel框架中,开发者经常会遇到需要控制不同用户角色访问特定资源的情况,这涉及到权限管理。...在使用这个包时,确保阅读其文档,了解如何安装、配置和使用提供的功能,以便更好地融入到自己的项目中。
4. **初始化SDK**:在应用启动时,需要调用`WeiboSDK.init()`方法进行初始化,传入App Key,并设置回调Activity。初始化完成后,SDK会处理微博相关的操作。 5. **授权登录**:当用户点击登录按钮时,调用`WeiboAuth...
2. 启动授权:在需要登录的地方,调用`WXAuth.getInstance().wxOAuth2Authorize()`,传入请求的参数,如回调URL等。 3. 处理回调:微信授权完成后,会回调到你在开放平台配置的回调URL,此时需要在你的应用中处理这...
- 为了从WebView中获取登录后的参数(如授权码code),我们需要监听页面加载完成事件并在JavaScript中注入一个函数,该函数负责将参数通过调用Android原生方法传递出来。 - 在Java代码中,创建一个接口供...
在进行用户授权时,可以调用`authorize`方法启动授权流程: ```java private void startAuth() { mWBAPI.authorize(new AuthListener() { // 实现授权监听器的方法 }); } ``` 在授权监听器中,你可以处理授权...
- 调用`SsoHandler.authorize()`方法,启动授权页面。在此过程中,用户会被引导到新浪的登录页面,输入用户名和密码进行授权。 - 授权成功后,新浪会回调指定的Activity,并通过`onActivityResult()`方法传递授权...
3. 用户授权:调用新浪SDK的authorize方法,引导用户授权。 4. 获取用户信息:授权成功后,使用access_token请求Sina API获取用户信息。 五、人人网登录 1. 注册人人网开发者账号,创建应用,获得AppKey和App...
象牙音源的辅助程序,帮助用户更好地管理音源。
sdk-dotnet, 用于 Authorize.Net API的.NET SDK Authorize.Net. NET SDK 要求.NET 3.5或者更高版本Nunit 2.6.3 ;Authorize.Net 帐户( 请参见下面的注册&配置部分) 1.2Authorize.Ne
你可以使用`UMSocialService`的`getPlatformApi`方法获取微博平台对象,然后调用`authorize`方法进行授权。 至此,我们已经掌握了在Android应用中使用友盟实现微信和微博分享的基本流程。在实际开发中,可能还需要...