- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我得到了适用于 IOS 的 sdk,但对于 Android,当我调用 LoginManager.logInWithReadPermissions 时, promise 永远不会得到解决。模态出现,我插入 facebook 凭据,我授权该应用程序,模态关闭但没有 promise 解决。
这是按钮点击代码(适用于 IOS)
LoginManager.logInWithReadPermissions(['public_profile', 'email', 'user_friends', 'user_birthday']).then(
function(result) {
console.log('Login success')
} else {
console.log('Login error')
}
},
function(error) {
console.log('Login error')
}
);
主应用程序.java
package com.situa;
import android.support.annotation.NonNull;
import com.facebook.react.ReactPackage;
import com.reactnativenavigation.NavigationApplication;
import com.facebook.CallbackManager;
import com.facebook.appevents.AppEventsLogger;
import com.facebook.FacebookSdk;
import com.facebook.reactnative.androidsdk.FBSDKPackage;
import com.BV.LinearGradient.LinearGradientPackage;
import com.react.rnspinkit.RNSpinkitPackage;
import com.cmcewen.blurview.BlurViewPackage;
import com.imagepicker.ImagePickerPackage;
import com.airbnb.android.react.maps.MapsPackage;
import com.learnium.RNDeviceInfo.RNDeviceInfo;
import java.util.List;
import java.util.Arrays;
public class MainApplication extends NavigationApplication {
@Override
public boolean isDebug() {
return BuildConfig.DEBUG;
}
private static CallbackManager mCallbackManager = CallbackManager.Factory.create();
protected static CallbackManager getCallbackManager() {
return mCallbackManager;
}
@Override
public void onCreate() {
super.onCreate();
FacebookSdk.sdkInitialize(getApplicationContext());
// If you want to use AppEventsLogger to log events.
AppEventsLogger.activateApp(this);
}
@NonNull
@Override
public List<ReactPackage> createAdditionalReactPackages() {
return Arrays.<ReactPackage>asList(
new FBSDKPackage(mCallbackManager),
new LinearGradientPackage(),
new RNSpinkitPackage(),
new BlurViewPackage(),
new ImagePickerPackage(),
new RNDeviceInfo(),
new MapsPackage()
);
}
}
主 Activity .java
package com.situa;
import com.reactnativenavigation.controllers.SplashActivity;
import android.content.Intent;
public class MainActivity extends SplashActivity {
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
MainApplication.getCallbackManager().onActivityResult(requestCode, resultCode, data);
}
}
在 AndroidManifest 中
<uses-permission android:name="android.permission.INTERNET" />
...
<activity android:name="com.facebook.FacebookActivity"
android:configChanges=
"keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name" />
...
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
设置.gradle
include ':react-native-fbsdk'
project(':react-native-fbsdk').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-fbsdk/android')
构建.gradle
repositories {
mavenCentral()
}
dependencies {
compile project(':react-native-device-info')
compile project(':react-native-share')
compile project(':react-native-fbsdk')
compile project(':react-native-image-picker')
compile project(':react-native-geocoder')
compile project(':react-native-maps')
compile project(':react-native-blur')
compile project(':react-native-linear-gradient')
compile project(':react-native-spinkit')
compile project(':react-native-vector-icons')
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:support-v4:23.4.0'
compile 'com.facebook.react:react-native:+'
debugCompile project(path: ':react-native-navigation', configuration: 'libraryDebug')
releaseCompile project(path: ':react-native-navigation', configuration: 'libraryRelease')
}
RN 0.35
react-native-navigation@2.0.0-experimental.105
react native fbsdk:0.3.0
Android 模拟器 SDK 23
最佳答案
这里是github上解决方案的要点,以供日后引用:
在 MainApplication.java 中添加:
@Override
public void onCreate() {
super.onCreate();
setActivityCallbacks(new ActivityCallbacks() {
@Override
public void onActivityResumed(Activity activity) {
// Do stuff
}
@Override
public void onActivityPaused(Activity activity) {
// Do stuff
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
mCallbackManager.onActivityResult(requestCode, resultCode, data);
}
});
FacebookSdk.sdkInitialize(getApplicationContext());
// If you want to use AppEventsLogger to log events.
AppEventsLogger.activateApp(this);
}
关于android - LoginManager.logInWithReadPermissions 从未在 Android 上解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40236763/
我正在使用 FBSDKLoginButton 允许用户使用 Facebook 登录并使用FBSDKLoginButton.readPermissions = @[@"public_profile",@
我正在使用react-native (0.55.3) 和react-native-fbsdk (0.8.0) 来启用Facebook 身份验证。 import React, { Compone
我正在尝试让 FB SDK 与我在 iOS 上的 React-Native 应用程序一起使用,但我遇到了错误: React-Native - 无法读取未定义的属性“logInWithReadPermi
我正在尝试实现它,但它没有打印任何内容。 loginManager.logInWithReadPermissions(["email"], fromViewController: self.paren
我得到了适用于 IOS 的 sdk,但对于 Android,当我调用 LoginManager.logInWithReadPermissions 时, promise 永远不会得到解决。模态出现,我插
我在 react-native 应用程序中使用 react-native-fbsdk 登录。完成所有设置后,出现了一些错误。 我用于登录操作的代码 facebook = () => { co
我能够使用基本的 SDK 程序成功验证 facebook 的登录身份,但在尝试使用 Firebase 进行身份验证时遇到一些困惑。我已经通读了文档并复制并粘贴了代码,但我仍然收到一条警告,内容为 'l
简化一下,代码是这样的: func login() { NSLog("Will login with read permissions") FBSDKLoginManager().
为此而生气。我尝试登录 FB,同时检索用户信息。 FB 登录工作正常,应用程序更改为 FB,显示应用程序请求的权限,然后在按接受后返回到我的应用程序。但是 registerCallback 永远不会被
最新的 Facebook Swift 文档在哪里。我无法显示 FB 登录对话框。对 loginWithReadPermissions 的调用永远不会返回? import UIKit import FB
我刚刚更新到 Parse 1.9.1 和 FBSDK v4.x。没有更改任何代码,并根据 Facebook 的要求将所有 App Transport Security key 添加到我的 .plist
我有一个支持 Facebook 登录的应用程序,出于某种原因 FBSDKLoginManager logInWithReadPermissions: fromViewController: handl
使用最新的 XCode,我收到此错误: 'logInWithReadPermissions(_:handler:)' is deprecated: use logInWithReadPermissi
我正在开发应用程序,我在其中添加了 FBSDKLoginKit 以允许用户使用 Facebook 登录。输入 facebook 用户名和密码后,我看到下面的页面。 现在,我按下 ok 按钮,我看到了空
我是一名优秀的程序员,十分优秀!