Даже после определения com.facebook.LoginActivity
в моем файле AndroidManifest.xml logcat дает ту же ошибку и просит определить com.facebook.LoginActivity
как действие. Я следовал этому https://developers.facebook.com/docs/android/login-with-facebook/v2.2#step2 учебнику.не может использовать SessionLoginBehaviour SSO_WITH_FALLBACK
Вот мой androidmanifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.log"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.log.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>
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" />
<activity
android:name="com.facebook.loginActivity"
android:label="@string/app_name" >
</activity>
</application>
</manifest>
MainActivity.java
package com.example.log;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
public class MainActivity extends FragmentActivity {
\t private MainFragment mainFragment;
\t @Override
\t public void onCreate(Bundle savedInstanceState) {
\t super.onCreate(savedInstanceState);
\t // setContentView(R.layout.fragment_main);
\t if (savedInstanceState == null) {
\t // Add the fragment on initial activity setup
\t mainFragment = new MainFragment();
\t getSupportFragmentManager()
\t .beginTransaction()
\t .add(android.R.id.content, mainFragment)
\t .commit();
\t } else {
\t // Or set the fragment from restored state info
\t mainFragment = (MainFragment) getSupportFragmentManager()
\t .findFragmentById(android.R.id.content);
\t }
\t }
\t @Override
\t public boolean onCreateOptionsMenu(Menu menu) {
\t \t // Inflate the menu; this adds items to the action bar if it is present.
\t \t getMenuInflater().inflate(R.menu.main, menu);
\t \t return true;
\t }
\t @Override
\t public boolean onOptionsItemSelected(MenuItem item) {
\t \t // Handle action bar item clicks here. The action bar will
\t \t // automatically handle clicks on the Home/Up button, so long
\t \t // as you specify a parent activity in AndroidManifest.xml.
\t \t int id = item.getItemId();
\t \t if (id == R.id.action_settings) {
\t \t \t return true;
\t \t }
\t \t return super.onOptionsItemSelected(item);
\t }
\t /**
\t * A placeholder fragment containing a simple view.
\t */
\t public static class MainFragment extends Fragment {
\t \t
\t \t @Override
\t \t public View onCreateView(LayoutInflater inflater,
\t \t ViewGroup container,
\t \t Bundle savedInstanceState) {
\t \t View view = inflater.inflate(R.layout.fragment_main, container, false);
\t \t return view;
\t \t }
\t }
}
fragment_main.xml file
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.facebook.widget.LoginButton
android:id="@+id/authButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="30dp"
/>
</LinearLayout>
Это то, что происходит, когда я кодируюсь в течение долгого времени, и мои глаза вот-вот разорвутся! спасибо Шивам Верма! оно работает. –