简体   繁体   English

在phonegap 4.2中使用Facebook登录

[英]login with facebook in phonegap 4.2

I am new in phonegap and i am tring to login with facebook in phonegap using phonegap-facebook-plugin 我是phonegap的新手,并且我想使用phonegap-facebook-plugin在phonegap中使用Facebook登录

i think there are some problem in my setup. 我认为我的设置中存在一些问题。

i have installed this plugin and add plugin in config.xml file. 我已经安装了此插件,并在config.xml文件中添加了插件。

<gap:plugin name="com.phonegap.plugins.facebookconnect">
        <param name="APP_ID" value="1547160042188072" />
        <param name="APP_NAME" value="XXXXXXXXXXX" />
    </gap:plugin> 

there is folder in plugin folder named as com.phonegap.plugins.facebookconnect . 在插件文件夹中有一个名为com.phonegap.plugins.facebookconnect文件夹。 so i think plugin is add in project. 所以我认为插件是添加在项目中。 here is my html where i call the fb login fuinction 这是我的html,我称之为fb登录功能

<a href="javascript:fbLogin()"><img src="images/btnFB.png"  class="socialimg"></a>

my function is 我的功能是

function fbLogin(){
        var fbLoginSuccess = function (userData) {
            alert("UserInfo: " + JSON.stringify(userData));
        }

        facebookConnectPlugin.login(["public_profile"],
            fbLoginSuccess,
            function (error) { alert("" + error) }
        );
    }

when i call this function it gives error : 当我调用此函数时,它给出错误:

03-20 09:18:05.782: D/CordovaActivity(2607): Resuming the App
03-20 09:18:15.852: W/System.err(2607): java.lang.ClassNotFoundException: org.apache.cordova.facebook.ConnectPlugin
03-20 09:18:15.942: W/System.err(2607):     at java.lang.Class.classForName(Native Method)
03-20 09:18:15.942: W/System.err(2607):     at java.lang.Class.forName(Class.java:251)
03-20 09:18:15.962: W/System.err(2607):     at java.lang.Class.forName(Class.java:216)
03-20 09:18:15.962: W/System.err(2607):     at org.apache.cordova.PluginManager.instantiatePlugin(PluginManager.java:345)
03-20 09:18:15.962: W/System.err(2607):     at org.apache.cordova.PluginManager.getPlugin(PluginManager.java:189)
03-20 09:18:15.982: W/System.err(2607):     at org.apache.cordova.PluginManager.exec(PluginManager.java:137)
03-20 09:18:15.982: W/System.err(2607):     at org.apache.cordova.CordovaBridge.jsExec(CordovaBridge.java:59)
03-20 09:18:15.992: W/System.err(2607):     at org.apache.cordova.ExposedJsApi.exec(ExposedJsApi.java:40)
03-20 09:18:15.992: W/System.err(2607):     at com.android.org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
03-20 09:18:15.992: W/System.err(2607):     at com.android.org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:27)
03-20 09:18:15.992: W/System.err(2607):     at android.os.Handler.dispatchMessage(Handler.java:102)
03-20 09:18:15.992: W/System.err(2607):     at android.os.Looper.loop(Looper.java:136)
03-20 09:18:15.992: W/System.err(2607):     at android.os.HandlerThread.run(HandlerThread.java:61)
03-20 09:18:15.992: W/System.err(2607): Caused by: java.lang.NoClassDefFoundError: org/apache/cordova/facebook/ConnectPlugin
03-20 09:18:15.992: W/System.err(2607):     ... 13 more
03-20 09:18:16.022: W/System.err(2607): Caused by: java.lang.ClassNotFoundException: Didn't find class "org.apache.cordova.facebook.ConnectPlugin" on path: DexPathList[[zip file "/data/app/com.syonserver.couponspring-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.syonserver.couponspring-1, /system/lib]]
03-20 09:18:16.042: W/System.err(2607):     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
03-20 09:18:16.042: W/System.err(2607):     at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
03-20 09:18:16.042: W/System.err(2607):     at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
03-20 09:18:16.042: W/System.err(2607):     ... 13 more
03-20 09:18:16.052: I/System.out(2607): Error adding plugin org.apache.cordova.facebook.ConnectPlugin.
03-20 09:18:16.052: W/System.err(2607): java.lang.NullPointerException
03-20 09:18:16.052: W/System.err(2607):     at org.apache.cordova.PluginManager.getPlugin(PluginManager.java:191)
03-20 09:18:16.052: W/System.err(2607):     at org.apache.cordova.PluginManager.exec(PluginManager.java:137)
03-20 09:18:16.052: W/System.err(2607):     at org.apache.cordova.CordovaBridge.jsExec(CordovaBridge.java:59)
03-20 09:18:16.052: W/System.err(2607):     at org.apache.cordova.ExposedJsApi.exec(ExposedJsApi.java:40)
03-20 09:18:16.052: W/System.err(2607):     at com.android.org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
03-20 09:18:16.062: W/System.err(2607):     at com.android.org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:27)
03-20 09:18:16.062: W/System.err(2607):     at android.os.Handler.dispatchMessage(Handler.java:102)
03-20 09:18:16.062: W/System.err(2607):     at android.os.Looper.loop(Looper.java:136)
03-20 09:18:16.062: W/System.err(2607):     at android.os.HandlerThread.run(HandlerThread.java:61)

please help. 请帮忙。

It's looking for your ConnectPlugin class to be in the org.apache.cordova.facebook namespace. 它正在寻找您的ConnectPlugin类位于org.apache.cordova.facebook命名空间中。 Check either what you have set for the package at the top of your ConnectPlugin.java file or under the org.apache.cordova.facebook namespace is there any file named ConnectPlugin.java. 检查在ConnectPlugin.java文件顶部或在org.apache.cordova.facebook命名空间下为软件包设置的内容,是否有任何名为ConnectPlugin.java的文件。

The moto is that you have to kept a file under the org.apache.cordova.facebook namespace and name should be ConnectPlugin.java moto是必须在org.apache.cordova.facebook命名空间下保存一个文件,名称应为ConnectPlugin.java

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM