У меня возникли проблемы с открытием активного сеанса facebook в приложении для Android в соответствии с учебным пособием, опубликованным в https://developers.facebook.com/docs/android/getting-started/facebook-sdk-for-android/
Я уже довольно долго боролся с этим без везения! Буду рад, если один из вас укажет мне в правильном направлении! (Я уверен, что ошибка связана с некоторой настройкой на моей стороне, но я не могу ее заметить)
Вот ошибка, которую я вижу после вызова Session.openActiveSession(this, true, new Session.StatusCallback() в onCreate моей активности (я в значительной степени следую шагам, приведенным в учебниках разработчиков facevook)
РЕДАКТИРОВАТЬ: Следующее предупреждающее сообщение регистрируется первым и сопровождается сообщением об ошибке на следующем снимке экрана
09-03 19: 26: 22.726: W/Bundle (17458): Key com.facebook.platform.protocol.PROTOCOL_VERSION ожидается строка, но Значение было java.lang.Integer. Значение по умолчанию было возвращено.09-03 19: 26: 22.736: W/Bundle (17458): попытка сгенерировать сгенерированную внутреннее исключение: 09-03 19: 26: 22.736: W/Bundle (17458): java.lang.ClassCastException: java.lang.Integer нельзя отбрасывать java.lang.String 09-03 19: 26: 22.736: W/Bundle (17458): at android.os.Bundle.getString(Bundle.java:1061) 09-03 19: 26: 22.736: W/Bundle (17458): при android.content.Intent.getStringExtra(Intent.java:4466) 09-03 19: 26: 22.736: W/Bundle (17458): при com.facebook.AuthorizationClient $KatanaLoginDialogAuthHandler.tryAuthorize(AuthorizationClient.java:821) 09-03 19: 26: 22.736: W/Bundle (17458): при com.facebook.AuthorizationClient.tryCurrentHandler(AuthorizationClient.java:272)
09-02 22: 55: 04.110: E/AndroidRuntime (13287): FATAL EXCEPTION: main 09-02 22: 55: 04.110: E/AndroidRuntime (13287): java.lang.RuntimeException: Невозможно возобновить работу{Com.good.amrfbintegration/ com.facebook.LoginActivity}: java.lang.NullPointerException 09-02 22: 55: 04.110: E/AndroidRuntime (13287): при android.app.ActivityThread.performResumeActivity(ActivityThread.java:3036) 09-02 22: 55: 04.110: E/AndroidRuntime (13287): при android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3077) 09-02 22: 55: 04.110: E/AndroidRuntime (13287): при android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2373)
Вот что я сделал до сих пор
Обновлено приложение на Facebook со следующей информацией (я использовал hashkey, сгенерированный с помощью моего отладочного хранилища машин)
Вот соответствующая информация из моего файла манифеста (@string/app_id - это идентификатор приложения из портала facebook dev)
Я добавил ссылку на SDK для Facebook таким образом
Вот код в моем методе OnCreate основного действия
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
activity = this;
Session.openActiveSession(this, true, new Session.StatusCallback()
{
@Override
public void call(Session session, SessionState state, Exception exception)
{
if (session.isOpened())
{
Toast.makeText(activity, "Connected to Fb", Toast.LENGTH_SHORT).show();
}
}});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
}
При выполнении Session.openActiveSession logcat отображает ошибку, показанную на моем первом снимке экрана.
Метод вызова Session.StatusCallback() запускается один раз (в то время как сеанс имеет состояние "открытие" ), но приложение сбрасывает последующее время. вот что я вижу перед тем, как приложение выйдет из строя
Любая помощь будет принята с благодарностью!