0

わかりました、私はネットの四隅すべてを精査しました... 2回...そして、私が試したものは何もうまくいきませんでした. この問題はインターネット全体で発生しているようですが、アプリはまだフェイスブックと統合して開発されているため、なぜ私は反転した答えを見つけることができません!!

とにかく、私がやったことをすべて書き留めるつもりです。

  1. 最新の cordova をダウンロードし、プロジェクトをセットアップします。
  2. cordova/phonegap の facebook connect プラグインをダウンロードし、プロジェクトのハックブックに追加しました
  3. 最新の Java SDK をダウンロードしました
  4. 別の Facebook SDK プロジェクトをセットアップする
  5. Facebookのログイン認証を必要とする別のプロジェクトを私のプロジェクトに含めました。
  6. ConnectPlugin.java ファイルを追加し、config.xml プラグイン プロジェクトにプラグイン呼び出しを含めました。
  7. Facebook にログインし、 https: //developers.facebook.com/apps/でアプリをセットアップしました。
  8. 一時的な名前を付けて、いくつかの基本情報を追加しました。
  9. ネイティブ Android アプリに移動し、パッケージ名 (org.apache.cordova.name) とクラス (org.apache.cordova.name.main) を入力し、「facebook ログイン」が有効に設定されていることも確認しました。
  10. ダウンロードしたopenSSL(誰もがダウンロードするように言っているもの(win8のim))
  11. コマンドプロンプトを開き、 c:\Program Files\Java\jdk1.7.0_17\bin に移動して実行しました

keytool -exportcert -alias androiddebugkey -keystore c:\android\debug.keystore | C:\OpenSSL\bin\openssl sha1 -バイナリ | C:\OpenSSL\bin\openssl base64

Android sdkフォルダーからデバッグキーストアをコピーし、怠惰なため、短いパスディレクトリに配置しました。

  1. 求められたときにパスワードを入力しました。
  2. このBmce+9aHdOoVtE7fS3F07tfj7Bc=のようなキーストアをコピーし、Facebook Android ネイティブ アプリの詳細のアプリの詳細に入力しました。
  3. 私のプロジェクトで F5 を押してクリーンにし、Android 仮想デバイスを介して実行しました。

ウォラ!美しさのように働く

  1. AVD を閉じ、SGS3 に接続し、ヒット ランを実行しました。
  2. ログインをクリックすると、「cordovaExample があなたの公開プロフィール、友達リスト、メールアドレスにアクセスしようとしています」と表示されます。
  3. 「OK」を押します
  4. アプリがクラッシュして死亡し、小さなロバを爆破しました。

誰が私が間違っているのか教えてもらえますか。Facebookがインストールされていないため、SSOに問題があることはわかっていますが、愚かなハッシュキーを作成しました!!!

誰でも、お願いします、Facebookさん、もしあなたがそこにいるなら、私は何を間違っていますか!!!

ありがとうございました!

編集

ログを追加するのを忘れました:

D/PluginManager(16868):     init()
D/CordovaWebView(16868):    >>> loadUrlNow()
D/DroidGap(16868):          Incoming Result
D/DroidGap(16868):          Request code = 64206
D/DroidGap(16868):          We have a callback to send this result to
D/AndroidRuntime(16868):    Shutting down VM
W/dalvikvm(16868):          threadid=1: thread exiting with uncaught exception (group=0x4111e2a0)
E/AndroidRuntime(16868):    FATAL EXCEPTION: main
E/AndroidRuntime(16868):    java.lang.RuntimeException: Unable to resume activity {org.apache.cordova.main/org.apache.cordova.main.main}: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=64206, result=0, data=Intent { (has extras) }} to activity {org.apache.cordova.main/org.apache.cordova.main.main}: java.lang.NullPointerException
E/AndroidRuntime(16868):    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2616)
E/AndroidRuntime(16868):    at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2644)
E/AndroidRuntime(16868):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2130)
E/AndroidRuntime(16868):    at android.app.ActivityThread.access$600(ActivityThread.java:140)
E/AndroidRuntime(16868):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1227)
E/AndroidRuntime(16868):    at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(16868):    at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(16868):    at android.app.ActivityThread.main(ActivityThread.java:4898)
E/AndroidRuntime(16868):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(16868):    at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(16868):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
E/AndroidRuntime(16868):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
E/AndroidRuntime(16868):    at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(16868):    Caused by: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=64206, result=0, data=Intent { (has extras) }} to activity {org.apache.cordova.main/org.apache.cordova.main.main}: java.lang.NullPointerException
E/AndroidRuntime(16868):    at android.app.ActivityThread.deliverResults(ActivityThread.java:3182)
E/AndroidRuntime(16868):    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2603)
E/AndroidRuntime(16868):    ... 12 more
E/AndroidRuntime(16868):    Caused by: java.lang.NullPointerException
E/AndroidRuntime(16868):    at org.apache.cordova.DroidGap.onActivityResult(DroidGap.java:849)
E/AndroidRuntime(16868):    at android.app.Activity.dispatchActivityResult(Activity.java:5390)
E/AndroidRuntime(16868):    at android.app.ActivityThread.deliverResults(ActivityThread.java:3178)
E/AndroidRuntime(16868):    ... 13 more
I/GATE(16868):              <GATE-M>DEV_ACTION_COMPLETED</GATE-M>
4

3 に答える 3

1

ええと、私が決して答えを見つけられなかった場合: java.lang.RuntimeException: Failure delivery result ResultInfo while logging using Facebook

開発者向けオプションで「アクティビティを保持しない」にチェックを入れていたようです。

于 2013-04-01T15:31:06.633 に答える
0

私が理解しているように、あなたが生成したキーは仮想デバイスでのみ機能します。アプリケーションを実際の電話で実行するには、アプリケーションを「Google Play」にアップロードする必要があります。そこで、アプリケーションを実際の電話から Facebook に接続できるようにする署名付きコードを提供します。

お役に立てば幸いです。

于 2013-03-31T23:29:53.780 に答える