0

Я следую за Facebook Android SDK tutorial, и у меня есть весь код, предшествующий этому шагу в моем приложении. Я запустить приложение (тестирование его на свой телефон, но делает то же самое в эмуляторе) и приходит этот экран вверх:Не удается получить экран входа в систему Facebook?

enter image description here

Хорошо, здорово!

Но после того, как это делается загрузка, а не какой-либо экран входа в систему придумывают, как пример, приведенный здесь:

enter image description here

Я только что пришел с этим:

enter image description here

Код:

package com.greatapp; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import com.facebook.android.*; 
import com.facebook.android.Facebook.*; 

public class MyGreatActivity extends Activity { 

Facebook facebook = new Facebook("MY_APP_ID"); 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    facebook.authorize(this, new DialogListener() { 
     @Override 
     public void onComplete(Bundle values) {} 

     @Override 
     public void onFacebookError(FacebookError error) {} 

     @Override 
     public void onError(DialogError e) {} 

     @Override 
     public void onCancel() {} 
    }); 
} 

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

    facebook.authorizeCallback(requestCode, resultCode, data); 
    } 
} 

Хорошо, я удалил проект и снова запустил. Этот экран от ранее делает что-то, но продолжает перезагружать этот экран загрузки снова и снова. Почти так, как будто он обращается к серверам Facebook за 1000 разных вещей, и у каждого из них есть экран загрузки. Я не знаю, что делать. Ошибок в Logcat нет.

enter image description here

+0

У вас есть родное приложение фб установлен на телефоне? –

ответ

0

Это работает для меня. Есть ли сообщение об ошибке в logcat? Вы пользуетесь Интернетом? Проверьте это.

или, возможно, вы уже закончили

или добавить журнал в своем коде, например:

 facebook.authorize(this, new DialogListener() { 
     @Override 
     public void onComplete(Bundle values) { 
      Log.d("onComplete",""+values); 
     } 

     @Override 
     public void onFacebookError(FacebookError error) { 
      Log.d("onFacebookError",""+error); 
     } 

     @Override 
     public void onError(DialogError e) { 
      Log.d("onError",""+e); 
     } 

     @Override 
     public void onCancel() { 
      Log.d("onCancel","cancel"); 
     } 
    }); 

и увидеть результат в вашем LogCat

+0

ИНТЕРНЕТ добавлен. Ошибок в LogCat нет. После добавления этого кода я не получаю НИКОГДА в Logcat. Нет ошибок, ничего. – Cole

0

Просто измените свой код так:

import com.facebook.android.*; 
import com.facebook.android.Facebook.*; 

public class MyGreatActivity extends Activity { 
public static final String[] PERMISSIONS = new String[] {"email", "publish_checkins", "publish_stream","offline_access"}; 
Facebook facebook = new Facebook("MY_APP_ID"); 


@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    facebook.authorize(this,PERMISSIONS,Facebook.FORCE_DIALOG_AUTH, new DialogListener() { 
     @Override 
     public void onComplete(Bundle values) {} 

     @Override 
     public void onFacebookError(FacebookError error) {} 

     @Override 
     public void onError(DialogError e) {} 

     @Override 
     public void onCancel() {} 
    }); 
} 

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

    facebook.authorizeCallback(requestCode, resultCode, data); 
    } 
} 

Facebook.FORCE_DIALOG_AUTH ---> будет автоматически входить в систему facebook

также необходимо позвонить facebook.logout (context) метод выхода из текущего метода, перед тем как войти в систему с новым пользователем.

Пользователь этот метод:

public void Logout() throws MalformedURLException, IOException { 
     facebook.logout(mContext); 
    }