[java] Facebook / Parse Login verhält sich seltsam: Die Proxy-App ist noch nicht installiert


Answers

  • Deinstallieren Sie die App
  • Entfernen Sie die App in Facebook
  • Versuch es noch einmal
Question

Ich werde verrückt damit! Obwohl die Lösungen da draußen mir geholfen haben, haben sie mein Problem nicht gelöst.

Ich füge Facebook-Login zu meiner aktuellen App hinzu. Der Kicker ist, ich habe ein paar Apps, die diese Funktion bereits haben. Ich hatte kein Problem, es ihnen hinzuzufügen! Ich habe mir den Code dieser Apps angesehen und dieser Code, an dem ich gerade arbeite, ist identisch. Der einzige Unterschied, den ich mir vorstellen kann, ist, dass diese App auf dem Markt war und dann eine Facebook-Login-Funktion erhalten hat. Aber ich kann mir nicht vorstellen, dass das wichtig wäre ...

Code:

    Button fb = (Button) view.findViewById(R.id.bFacebook);
    Settings.setApplicationId(APPLICATION_ID);

    fb.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Log.d(TAG, "BUTTON WAS PRESSED");

            ParseFacebookUtils.logIn(Arrays.asList(ParseFacebookUtils.Permissions.User.ABOUT_ME),
                    getActivity(), new LogInCallback() {
                @Override
                public void done(final ParseUser user, ParseException err) {
                    if (user == null) {
                        Log.d("MyApp", "Uh oh. The user cancelled the Facebook login.");
                        Toast.makeText(getActivity(), "CANCEL", Toast.LENGTH_LONG).show();

                    } else if (user.isNew()) {
                        Log.d("MyApp", "User signed up and logged in through Facebook!");
                        Toast.makeText(getActivity(), "SIGNUP", Toast.LENGTH_LONG).show();
                    } else {
                        Log.d("MyApp", "User logged in through Facebook!");
                        Toast.makeText(getActivity(), "LOGIN", Toast.LENGTH_LONG).show();
                    }
                    end();
                }

                private void end() {
                    activity.changeFrag(Drawer.Frag.HOME);
                }
            });
        }
    });


}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    ParseFacebookUtils.finishAuthentication(requestCode, resultCode, data);
}

Ich erhalte die WARNUNG:

com.facebook.http.protocol.ApiException: Die Proxy-App ist noch nicht installiert.

Was geschieht:

  1. Ich klicke auf den Login-Button, die FB-App öffnet sich wie es sollte
  2. Kurz wird ein Spinner angezeigt.
  3. Die FB wird dann sofort herunterfahren und meine App wird wieder angezeigt.

Wenn Sie meinen ParseCallback Code sehen, werden Sie feststellen, dass unabhängig von den Ergebnissen des Benutzers Fragmente geändert werden sollten. Aber das wird nie aufgerufen, und Protokolle werden nie angezeigt.

Was habe ich getan:

  • Ich bin zu meinen Parse-Einstellungen gegangen und habe mein Geheimnis und meine ID in den Einstellungen hinzugefügt (Alle Recherchen, die ich gemacht habe, ich merke, dass das viele Leute falsch machen werden. Prüfe das, wenn du hier für Antworten bist!)
  • Ich habe den Facebook Sdk mit dem Parse.com- Handbuch hinzugefügt .
  • Ich habe vierfach überprüft, ob mein KeyHash korrekt ist.
  • Ich rufe ParseFacebookUtils.initialize(APPLICATION_ID); in meiner Anwendung onCreate .
  • Ich habe die FB App installiert
  • Ich habe dies sowohl auf Emulator als auch auf physikalischem Gerät versucht
  • Ich habe VOLLSTÄNDIG mit einem neuen Projekt angefangen, das nur das aktualisierte Parse.jar und Facebook-sdk enthält. Immer noch nichts.

Hier ist eine vollständige Stapelverfolgung der Warnung. Es hat mir nicht gut getan, aber vielleicht kannst du es entziffern:

05-25 18:27:09.402    4515-4515/com.codealchemist D/Login Facebook BUTTON WAS PRESSED
com.codealchemist/com.facebook.LoginActivity: +82ms
05-25 18:27:10.002    3746-4556/com.facebook.katana W/fb4a(:<default>):BlueServiceQueue Exception during service
    com.facebook.http.protocol.ApiException: The proxied app is not already installed.
            at com.facebook.http.protocol.ApiResponseChecker.b(ApiResponseChecker.java:83)
            at com.facebook.http.protocol.ApiResponseChecker.a(ApiResponseChecker.java:162)
            at com.facebook.http.protocol.ApiResponse.g(ApiResponse.java:151)
            at com.facebook.platform.auth.server.AuthorizeAppMethod.a(AuthorizeAppMethod.java:275)
            at com.facebook.platform.auth.server.AuthorizeAppMethod.a(AuthorizeAppMethod.java:31)
            at com.facebook.http.protocol.ApiResponseHandler.a(ApiResponseHandler.java:55)
            at com.facebook.http.protocol.ApiResponseHandler.handleResponse(ApiResponseHandler.java:28)
            at com.facebook.http.common.FbHttpRequestProcessor.a(FbHttpRequestProcessor.java:314)
            at com.facebook.http.common.FbHttpRequestProcessor.a(FbHttpRequestProcessor.java:144)
            at com.facebook.http.common.FbHttpRequestProcessor.b(FbHttpRequestProcessor.java:100)
            at com.facebook.http.common.FbHttpRequestProcessor.a(FbHttpRequestProcessor.java:230)
            at com.facebook.http.protocol.SingleMethodRunnerImpl.a(SingleMethodRunnerImpl.java:402)
            at com.facebook.http.protocol.SingleMethodRunnerImpl.a(SingleMethodRunnerImpl.java:164)
            at com.facebook.http.protocol.AbstractSingleMethodRunner.a(AbstractSingleMethodRunner.java:18)
            at com.facebook.platform.common.server.SimplePlatformOperation.a(SimplePlatformOperation.java:40)
            at com.facebook.platform.common.server.PlatformOperationHandler.a(PlatformOperationHandler.java:60)
            at com.facebook.fbservice.service.BlueServiceQueue.e(BlueServiceQueue.java:329)
            at com.facebook.fbservice.service.BlueServiceQueue.d(BlueServiceQueue.java:55)
            at com.facebook.fbservice.service.BlueServiceQueue$3.run(BlueServiceQueue.java:258)
            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
            at java.util.concurrent.FutureTask.run(FutureTask.java:237)
            at com.facebook.common.executors.ListenableScheduledFutureImpl.run(ListenableScheduledFutureImpl.java:59)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:136)
            at android.os.HandlerThread.run(HandlerThread.java:61)
05-25 18:27:10.002    1272-1783/system_process I/ActivityManager START u0 {cmp=com.facebook.katana/.ProxyAuth (has extras)} from pid 4515
05-25 18:27:10.012    3746-3817/com.facebook.katana W/Settings Setting wifi_sleep_policy has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value.
05-25 18:27:10.032    1272-1420/system_process I/ActivityManager START u0 {cmp=com.facebook.katana/.ProxyAuthDialog (has extras)} from pid 3746
05-25 18:27:10.082    3746-3746/com.facebook.katana D/dalvikvm GC_FOR_ALLOC freed 2462K, 34% free 11230K/16936K, paused 20ms, total 21ms
05-25 18:27:10.192    3746-3746/com.facebook.katana W/EGL_emulation eglSurfaceAttrib not implemented
05-25 18:27:10.212    3746-3746/com.facebook.katana W/AwContents nativeOnDraw failed; clearing to background color.
05-25 18:27:10.222    1272-1286/system_process I/ActivityManager Displayed com.facebook.katana/.ProxyAuthDialog: +187ms (total +206ms)
05-25 18:27:10.292    3746-3746/com.facebook.katana W/EGL_emulation eglSurfaceAttrib not implemented
05-25 18:27:10.592    3746-3746/com.facebook.katana E/eglCodecCommon glUtilsParamSize: unknow param 0x00000b44
05-25 18:27:10.602    3746-3746/com.facebook.katana E/eglCodecCommon glUtilsParamSize: unknow param 0x00000bd0
05-25 18:27:10.612    3746-3746/com.facebook.katana I/chromium [INFO:async_pixel_transfer_manager_android.cc(56)] Async pixel transfers not supported
05-25 18:27:10.622    3746-3746/com.facebook.katana E/chromium [ERROR:gles2_cmd_decoder_autogen.h(1144)] [GroupMarkerNotSet(crbug.com/242999)!:9854F8B8]GL ERROR :GL_INVALID_OPERATION : GetIntegerv: <- error from previous GL command
05-25 18:27:10.672    3746-3746/com.facebook.katana I/chromium [INFO:async_pixel_transfer_manager_android.cc(56)] Async pixel transfers not supported
05-25 18:27:10.692    3746-3746/com.facebook.katana E/chromium [ERROR:gles2_cmd_decoder_autogen.h(1144)] [GroupMarkerNotSet(crbug.com/242999)!:483727B9]GL ERROR :GL_INVALID_OPERATION : GetIntegerv: <- error from previous GL command
05-25 18:27:10.752    3746-3746/com.facebook.katana E/eglCodecCommon **** ERROR unknown type 0x0 (glSizeof,72)
05-25 18:27:10.752    3746-3746/com.facebook.katana E/eglCodecCommon glUtilsParamSize: unknow param 0x00000b44
05-25 18:27:10.762    3746-3746/com.facebook.katana E/eglCodecCommon glUtilsParamSize: unknow param 0x00000bd0
05-25 18:27:10.792    3746-3746/com.facebook.katana E/eglCodecCommon **** ERROR unknown type 0x0 (glSizeof,72)
05-25 18:27:10.872    4515-4515/com.codealchemist W/EGL_emulation eglSurfaceAttrib not implemented
05-25 18:27:10.872    4515-4515/com.codealchemist E/HardwareRenderer An error has occurred while drawing:
    java.lang.IllegalStateException: The display list is not valid.
            at android.view.GLES20DisplayList.getNativeDisplayList(GLES20DisplayList.java:49)
            at android.view.GLES20Canvas.drawDisplayList(GLES20Canvas.java:420)
            at android.view.HardwareRenderer$GlRenderer.drawDisplayList(HardwareRenderer.java:1646)
            at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:1469)
            at android.view.ViewRootImpl.draw(ViewRootImpl.java:2381)
            at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2253)
            at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1883)
            at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1000)
            at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5670)
            at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
            at android.view.Choreographer.doCallbacks(Choreographer.java:574)
            at android.view.Choreographer.doFrame(Choreographer.java:544)
            at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5017)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
            at dalvik.system.NativeStart.main(Native Method)



Links