Facebook登出错误的Andr​​oid [英] Facebook Log Out error in Android

查看:149
本文介绍了Facebook登出错误的Andr​​oid的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Android应用程序有一个登录按钮。当我登录它工作正常。但后来我当我试图注销此错误。我想不出它是什么原因造成的错误。

I had a Log in Button in my Android App. It works fine when I'm logging in. But then I got this error when I'm trying to Log Out. I can't figure it out what is causing the error.

11-12 14:44:12.358: E/AndroidRuntime(2334): FATAL EXCEPTION: main
11-12 14:44:12.358: E/AndroidRuntime(2334): android.os.NetworkOnMainThreadException
11-12 14:44:12.358: E/AndroidRuntime(2334):     at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1117)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at java.net.InetAddress.getAllByName(InetAddress.java:214)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at libcore.net.http.HttpConnection.<init>(HttpConnection.java:70)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:341)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:315)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection(HttpsURLConnectionImpl.java:461)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.connect(HttpsURLConnectionImpl.java:433)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:289)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:239)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:273)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:168)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at libcore.net.http.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:271)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at com.facebook.android.Util.openUrl(Util.java:215)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at com.facebook.android.Facebook.request(Facebook.java:775)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at com.facebook.android.Facebook.request(Facebook.java:691)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at com.facebook.android.Facebook.logout(Facebook.java:650)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at com.example.facebook.MainActivity.onClick(MainActivity.java:57)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at android.view.View.performClick(View.java:4084)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at android.view.View$PerformClick.run(View.java:16966)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at android.os.Handler.handleCallback(Handler.java:615)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at android.os.Handler.dispatchMessage(Handler.java:92)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at android.os.Looper.loop(Looper.java:137)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at android.app.ActivityThread.main(ActivityThread.java:4745)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at java.lang.reflect.Method.invokeNative(Native Method)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at java.lang.reflect.Method.invoke(Method.java:511)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
11-12 14:44:12.358: E/AndroidRuntime(2334):     at dalvik.system.NativeStart.main(Native Method)

下面是我的注销codeS

Here is My Log Out Codes

private void updateButtonImage() {
        // TODO Auto-generated method stub
        if(fb.isSessionValid()){
            button.setImageResource(R.drawable.logout_button);
        }else{
            button.setImageResource(R.drawable.login_button);
        }
    }


    public void onClick(View arg0) {
        // TODO Auto-generated method stub
        if(fb.isSessionValid()){
            try {
                fb.logout(getApplicationContext());
                updateButtonImage();
            } catch (MalformedURLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }else{
            fb.authorize(MainActivity.this,new String[] {"email", "publish_stream"}, new DialogListener() {

                public void onFacebookError(FacebookError e) {
                    // TODO Auto-generated method stub
                    Toast.makeText(getApplicationContext(), "Facebook error", Toast.LENGTH_SHORT).show();       
                }

                public void onError(DialogError e) {
                    // TODO Auto-generated method stub
                    Toast.makeText(getApplicationContext(), "Error", Toast.LENGTH_SHORT).show();        
                }

                public void onComplete(Bundle values) {
                    // TODO Auto-generated method stub
                    updateButtonImage();
                }

                public void onCancel() {
                    // TODO Auto-generated method stub
                    Toast.makeText(getApplicationContext(), "Cancel", Toast.LENGTH_SHORT).show();   
                }
            });
        }
    }

任何人都可以点什么导致了错误?

Can anyone point what causing the error?

感谢。

推荐答案

当应用程序试图在它的主线程执行联网操作抛出此异常。在AsyncTask的还是在线程中运行你的code。

This exception is thrown when an application attempts to perform a networking operation on its main thread. Run your code in AsyncTask or in Thread.

或添加低于code在的onCreate()方法。

or Add below code in onCreate() method.

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy); 

这篇关于Facebook登出错误的Andr​​oid的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆