Session.StatusCallback не может быть разрешен для типа – API Facebook

Я выполнил учебник по авторизации входа в систему на Facebook и скопировал следующий код в приложение для Android

private Session.StatusCallback callback = new Session.StatusCallback() { @Override public void call(Session session, SessionState state, Exception exception) { onSessionStateChange(session, state, exception); } }; 

Однако это дает мне следующие ошибки:

 Session.StatusCallback cannot be resolved to a type 

Это приводит к следующим ошибкам:

 callback cannot be resolved to a variable 

Там также есть другие места, где звонки Facebook API сделаны, которые дают мне ошибки, но это не во всех вызовах API Facebook. Еще одно место, где я получаю сообщение об ошибке, следующее:

 Request request = Request.newMeRequest(session, new Request.GraphUserCallback() { @Override public void onCompleted(GraphUser user, Response response) { // If the response is successful if (session == Session.getActiveSession()) { if (user != null) { // Set the id for the ProfilePictureView // view that in turn displays the profile picture. Log.d("MainActivity", "onComplete() User logged in"); parent.owner = MainKickback.userConnection.add(new User(user.getId())); EventFragment e = (EventFragment) fragments[UPCOMING_EVENTS]; e.populateEvents(); } } if (response.getError() != null) { // Handle errors, will do so later. } } }); request.executeAsync(); 

Где он не распознает Request.GraphUserCallback, а затем executeAsync (). Я получаю следующие ошибки:

 Request.GraphUserCallback cannot be resolved to a type The method executeAsync() is undefined for the type DownloadManager.Request 

Есть ли у кого-нибудь советы относительно того, как это исправить?

Благодарим вас за помощь!

У меня была такая же проблема, как и у вашей первой, и я решил ее, удалив

 import android.service.textservice.SpellCheckerService.Session; 

И добавление

 import com.facebook.Session; 

У меня была аналогичная проблема, и проблема заключалась в том, что у меня были эти два импорта в файле

 import android.app.DownloadManager.Request; import android.service.textservice.SpellCheckerService.Session; 

И эти модули запроса и сеанса были переопределяющими

 com.facebook.Session com.facebook.Request 

Я на самом деле просто удалил два андроидных импорта, и все сработало хорошо. Они, похоже, не использовались, но затмение добавило их по какой-то странной причине.

Судя по вашему результату

 The method executeAsync() is undefined for the type DownloadManager.Request 

Я бы сказал, это звучит так, будто у вас один и тот же импорт происходит где-то, и они переопределяют импорт facebook.

Возникла эта проблема, когда уже были импортированы классы запроса и сеанса из структуры Volley. Попробуйте использовать класс с именем пакета для сеанса и запроса, это сработало для меня. См. Код ниже.

 private com.facebook.Session.StatusCallback callback = new com.facebook.Session.StatusCallback() { @Override public void call(com.facebook.Session session, SessionState state, Exception exception) { onSessionStateChange(session, state, exception); } }; 

Для вашей первой проблемы, какой импорт вы используете? Я использую это для обратного вызова:

 import com.facebook.Session.StatusCallback; 

Какой Facebook SDK вы используете? Самый новый? Я использую последний sdk 4.01, но этот sdk не поддерживает этот pakage

У меня появилось сообщение: «Не удается разрешить сеанс символа». Таким образом, проблема была в не подключенной библиотеке «facebook». Я решил это так. 1. Откройте структуру проекта (Файл> Структура проекта). 2. Выберите «Модули» на левой панели. 3. Выберите название проекта. 4. Перейдите на вкладку «Зависимости». 5. Нажмите на знак плюса внизу. Выберите «Зависимость модуля» и нажмите «facebook». 6. Нажмите OK, затем OK.

 package com.vishal.example; import com.facebook.Response; import com.facebook.UiLifecycleHelper; import com.facebook.Response; import com.facebook.UiLifecycleHelper; import com.facebook.Session; import com.facebook.SessionState; import com.facebook.model.GraphUser; import com.facebook.Request; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.TextView; public class MainActivity extends Activity { private UiLifecycleHelper uiHelper; private View otherView; private static final String TAG = "MainActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Set View that should be visible after log-in invisible initially otherView = (View) findViewById(R.id.other_views); otherView.setVisibility(View.GONE); // To maintain FB Login session uiHelper = new UiLifecycleHelper(this, callback); uiHelper.onCreate(savedInstanceState); } // Called when session changes private Session.StatusCallback callback = new Session.StatusCallback() { @Override public void call(Session session, SessionState state, Exception exception) { onSessionStateChange(session, state, exception); } }; // When session is changed, this method is called from callback method private void onSessionStateChange(Session session, SessionState state, Exception exception) { final TextView name = (TextView) findViewById(R.id.name); final TextView gender = (TextView) findViewById(R.id.gender); final TextView location = (TextView) findViewById(R.id.location); // When Session is successfully opened (User logged-in) if (state.isOpened()) { Log.i(TAG, "Logged in..."); // make request to the /me API to get Graph user Request.newMeRequest(session, new Request.GraphUserCallback() { // callback after Graph API response with user @Override public void onCompleted(GraphUser user, Response response) { if (user != null) { // Set view visibility to true otherView.setVisibility(View.VISIBLE); // Set User name name.setText("Hello " + user.getName()); // Set Gender gender.setText("Your Gender: " + user.getProperty("gender").toString()); location.setText("Your Current Location: " + user.getLocation().getProperty("name").toString()); } } }).executeAsync(); } else if(state.isClosed()) { Log.i(TAG, "Logged out..."); otherView.setVisibility(View.GONE); } } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); uiHelper.onActivityResult(requestCode, resultCode, data); Log.i(TAG, "OnActivityResult..."); } @Override public void onResume() { super.onResume(); uiHelper.onResume(); } @Override public void onPause() { super.onPause(); uiHelper.onPause(); } @Override public void onDestroy() { super.onDestroy(); uiHelper.onDestroy(); } @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); uiHelper.onSaveInstanceState(outState); } } 

Ссылка на ссылку для facebook sdk, где вы можете ее скачать и использовать. Его работа для меня http://www.filedropper.com/facebooksdk

Просто удалите FB SDK и перезагрузите его. Ваш SDK, вероятно, поврежден другими, кто толкнул git.