当我调用facebook登录功能时,Phonegap(Android)应用程序立即崩溃

时间:2014-06-24 06:08:51

标签: cordova facebook-android-sdk

我正在使用Phonegap(Cordova v.2.9)创建一个Android应用程序。应用程序中有一个登录通过Facebook选项。所以我已经完成了facebook连接插件的设置,但是当我点击facebook登录按钮调用我的facebookLogin()函数时,应用程序崩溃并显示消息“不幸,AppName已停止” 在我的模拟器中没有安装facebook应用程序,但它应该与浏览器一起用于登录,在这种情况下,如果未安装应用程序。我已经实现了它几个月前它在该应用程序中工作正常,但这次我遇到了这个麻烦。 任何的想法?错误日志如下......

06-24 01:39:44.673: D/Cordova(1456): onPageFinished(file:///android_asset/www/index.html)
    06-24 01:39:44.673: D/CordovaActivity(1456): onMessage(onPageFinished,file:///android_asset/www/index.html)
    06-24 01:39:45.563: D/dalvikvm(1456): GC_FOR_ALLOC freed 338K, 11% free 3685K/4096K, paused 36ms, total 41ms
    06-24 01:39:46.133: D/CordovaLog(1456): file:///android_asset/www/js/cdv-plugin-fb-connect.js: Line 12 : Endpoint saved GIF89a���������������������!���������,��������������D��;
    06-24 01:39:46.133: I/chromium(1456): [INFO:CONSOLE(12)] "Endpoint saved GIF89a
    06-24 01:39:50.663: I/Deprecation Notice(1456): Replace ctx.setActivityResultCallback() with cordova.setActivityResultCallback()
    06-24 01:39:50.663: I/Deprecation Notice(1456): Replace ctx.runOnUiThread() with cordova.getActivity().runOnUiThread()
    06-24 01:39:50.703: E/ActivityThread(1456): Failed to find provider info for com.facebook.katana.provider.AttributionIdProvider
    06-24 01:39:50.733: W/ResourceType(1456): No package identifier when getting value for resource number 0x00000000
    06-24 01:39:50.733: D/AndroidRuntime(1456): Shutting down VM
    06-24 01:39:50.733: W/dalvikvm(1456): threadid=1: thread exiting with uncaught exception (group=0xb2accba8)
    06-24 01:39:50.753: E/AndroidRuntime(1456): FATAL EXCEPTION: main
    06-24 01:39:50.753: E/AndroidRuntime(1456): Process: com.android.on_me, PID: 1456
    06-24 01:39:50.753: E/AndroidRuntime(1456): android.content.res.Resources$NotFoundException: Resource ID #0x0
    06-24 01:39:50.753: E/AndroidRuntime(1456):     at android.content.res.Resources.getValue(Resources.java:1123)
    06-24 01:39:50.753: E/AndroidRuntime(1456):     at android.content.res.Resources.getDrawable(Resources.java:698)
    06-24 01:39:50.753: E/AndroidRuntime(1456):     at com.facebook.android.FbDialog.createCrossImage(FbDialog.java:107)
    06-24 01:39:50.753: E/AndroidRuntime(1456):     at com.facebook.android.FbDialog.onCreate(FbDialog.java:81)
    06-24 01:39:50.753: E/AndroidRuntime(1456):     at android.app.Dialog.dispatchOnCreate(Dialog.java:361)
    06-24 01:39:50.753: E/AndroidRuntime(1456):     at android.app.Dialog.show(Dialog.java:262)
    06-24 01:39:50.753: E/AndroidRuntime(1456):     at com.facebook.android.Facebook.dialog(Facebook.java:839)
    06-24 01:39:50.753: E/AndroidRuntime(1456):     at com.facebook.android.Facebook.startDialogAuth(Facebook.java:368)
    06-24 01:39:50.753: E/AndroidRuntime(1456):     at com.facebook.android.Facebook.authorize(Facebook.java:231)
    06-24 01:39:50.753: E/AndroidRuntime(1456):     at com.facebook.android.Facebook.authorize(Facebook.java:147)
    06-24 01:39:50.753: E/AndroidRuntime(1456):     at org.apache.cordova.facebook.ConnectPlugin$1.run(ConnectPlugin.java:108)
    06-24 01:39:50.753: E/AndroidRuntime(1456):     at android.os.Handler.handleCallback(Handler.java:733)
    06-24 01:39:50.753: E/AndroidRuntime(1456):     at android.os.Handler.dispatchMessage(Handler.java:95)
    06-24 01:39:50.753: E/AndroidRuntime(1456):     at android.os.Looper.loop(Looper.java:136)
    06-24 01:39:50.753: E/AndroidRuntime(1456):     at android.app.ActivityThread.main(ActivityThread.java:5017)
    06-24 01:39:50.753: E/AndroidRuntime(1456):     at java.lang.reflect.Method.invokeNative(Native Method)
    06-24 01:39:50.753: E/AndroidRuntime(1456):     at java.lang.reflect.Method.invoke(Method.java:515)
    06-24 01:39:50.753: E/AndroidRuntime(1456):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
    06-24 01:39:50.753: E/AndroidRuntime(1456):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
    06-24 01:39:50.753: E/AndroidRuntime(1456):     at dalvik.system.NativeStart.main(Native Method)
    06-24 01:39:52.753: I/Process(1456): Sending signal. PID: 1456 SIG: 9

2 个答案:

答案 0 :(得分:1)

我面临同样的问题。 我只是在github页面中使用了示例js代码登录,当我在模拟器中运行它时,我的应用程序以相同的方式崩溃。虽然我还没有找到解决方案,但请查看以下主题,这可能对您有帮助。

Failed to find provider info for com.facebook.katana.provider.AttributionIdProvider

答案 1 :(得分:0)

我面临同样的问题。我还没有解决问题,但我认为这会有所帮助:https://developers.facebook.com/docs/android/getting-started?locale=fr_FR在“设置发布密钥哈希”部分。

To authenticate the exchange of information between your app and the Facebook, you need to generate a release key hash and add this to the Android settings within your Facebook App ID.