Intereting Posts

Android Studio не распознает импорт Facebook

Я начинаю, и я пытаюсь создать приложение с интеграцией с Facebook.

Я выполнил все шаги (Импортирование SDK в модуле модуля, добавление отсутствующих параметров в файлах градиента, добавление модуля зависимостей для моего приложения в проекте снова). Все было прекрасно, я добавил простой LoginButton в main_activity.xml), и никаких ошибок не появилось.

Поскольку я пытался сделать все импортные книги, необходимые в MainActivity.java, все они стали красными. Это были импортные товары, такие как:

import com.facebook.Session; import com.facebook.SessionState; import com.facebook.UiLifecycleHelper; import com.facebook.widget.LoginButton; import com.facebook.widget.LoginButton.UserInfoChangedCallback; 

И сообщения типа «сеанс символа не могут быть разрешены». Я искал его настолько, насколько мог, не мог найти решение, которое сработало для меня. Напротив, это не показалось проблемой:

  import com.facebook.login.widget.LoginButton; 

Вот мой Android Manifest File XML:

  <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.user.moviere" > <uses-permission android:name="android.permission.INTERNET"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/> <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.facebook.LoginActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:label="@string/app_name" /> <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/> <activity android:name="com.facebook.FacebookActivity" android:configChanges= "keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:label="@string/app_name" /> </application> </manifest> Размер  <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.user.moviere" > <uses-permission android:name="android.permission.INTERNET"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/> <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.facebook.LoginActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:label="@string/app_name" /> <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/> <activity android:name="com.facebook.FacebookActivity" android:configChanges= "keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:label="@string/app_name" /> </application> </manifest> 

И вот мой build.gradle

  apply plugin: 'com.android.application' android { compileSdkVersion 21 buildToolsVersion '21.1.2' defaultConfig { applicationId "com.user.moviere" minSdkVersion 9 targetSdkVersion 22 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } repositories { mavenCentral() } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) // compile project(':facebook') compile 'com.android.support:appcompat-v7:22.0.0' compile 'com.facebook.android:facebook-android-sdk:4.0.0' compile 'com.android.support:support-v4:22.0.0' } 

Хорошо, я создал проект с самого начала, снова импортировал FB SDK. Но реальная проблема с импортом заключалась в том, что Facebook SDK 4 изменил некоторые функции, одним из которых является UiLifecycleHelper, например, он больше не существует.

Полная информация обо всех изменениях приведена здесь:

https://developers.facebook.com/docs/android/upgrading-4.x

Да, в текущем обновлении facebook sdk они удалили сеанс, теперь классы AccessToken, LoginManager и CallbackManager переопределяют и заменяют функциональность класса Session.

Для получения дополнительной информации перейдите по адресу – https://developers.facebook.com/docs/android/upgrading-4.x

Обновление зависимости от Facebook

Компилировать 'com.facebook.android:facebook-android-sdk:4.8.0'

Нужно разрешение в файле манифеста

 <uses-permission android:name="android.permission.INTERNET"/> 

  <meta-data android:name="com.facebook.sdk.ApplicationName" android:value="@string/app_name" /> <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id" /> <provider android:name="com.facebook.FacebookContentProvider" android:authorities="com.facebook.app.FacebookContentProvider1854328631556764" android:exported="true" /> 

Работает

Подробнее: –

https://developers.facebook.com/docs/android/upgrading-4.x