Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用Facebook SDK登录不起作用_Android_Facebook_Android Facebook - Fatal编程技术网

Android 使用Facebook SDK登录不起作用

Android 使用Facebook SDK登录不起作用,android,facebook,android-facebook,Android,Facebook,Android Facebook,我正在尝试使用>Facebook SDK LoginUsingLoginFragmentActivity集成Facebook登录 这给了我错误: 主活动代码: LoginToFaceBookActivity.java 错误跟踪: 舱单: 我正在使用此代码,工作正常,请检查它 if (facebook.getAccessToken() != null) { //user got logged in do you code here is } else

我正在尝试使用>Facebook SDK LoginUsingLoginFragmentActivity集成Facebook登录

这给了我错误:

主活动代码:

LoginToFaceBookActivity.java

错误跟踪:

舱单:


我正在使用此代码,工作正常,请检查它

if (facebook.getAccessToken() != null) {

            //user got logged in do you code here is 

        } else {
           loginToFacebook();//user is not login force user to first complete the login

            }

public void loginToFacebook() {

    mPrefs = getPreferences(MODE_PRIVATE);
    String access_token = mPrefs.getString("access_token", null);
    long expires = mPrefs.getLong("access_expires", 0);

    if (access_token != null) {
        facebook.setAccessToken(access_token);

        Log.d("FB Sessions", "" + facebook.isSessionValid());
    }

    if (expires != 0) {
        facebook.setAccessExpires(expires);
    }

    if (!facebook.isSessionValid()) {
        facebook.authorize(this,
                new String[] { "email", "publish_stream" },
                new DialogListener() {

                    @Override
                    public void onCancel() {
                        // Function to handle cancel event
                    }

                    @Override
                    public void onComplete(Bundle values) {
                        // Function to handle complete event
                        // Edit Preferences and update facebook acess_token
                        SharedPreferences.Editor editor = mPrefs.edit();
                        editor.putString("access_token",
                                facebook.getAccessToken());
                        editor.putLong("access_expires",
                                facebook.getAccessExpires());
                        editor.commit();
                        Toast.makeText(sms_by_id.this,
                                "Successfully Login", Toast.LENGTH_LONG)
                                .show();
                        pwindo.dismiss();

                        // Making Login button invisible

                    }

                    @Override
                    public void onError(DialogError error) {
                        // Function to handle error

                    }

                    @Override
                    public void onFacebookError(FacebookError fberror) {
                        // Function to handle Facebook errors
                        pwindo.dismiss();
                        Toast.makeText(sms_by_id.this, "Facebook Error",
                                Toast.LENGTH_LONG).show();
                    }

                });
    }
}

可能是AndroidManifest文件包含错误的信息,说明facebook活动所属的软件包登录-您发布的错误跟踪与清单文件不匹配。

您是否在AndroidManifest.xml中添加了facebook登录活动?@Haresh question updated,清单文件添加了什么是LoginToFaceBookActivity的软件包名称?@reiley,你能发布你的登录\u片段\u活动布局代码吗?@reiley:facebook SDK中有一个示例hellofacebookexample导入该示例,该示例与你的代码匹配
public class LoginIntoFacebookActivity extends FragmentActivity {

    private UserSettingsFragment userSettingsFragment;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.login_fragment_activity);

        FragmentManager fragmentManager = getSupportFragmentManager();
        userSettingsFragment = (UserSettingsFragment) fragmentManager.findFragmentById(R.id.login_fragment);
        userSettingsFragment.setSessionStatusCallback(new Session.StatusCallback() {
            @Override
            public void call(Session session, SessionState state, Exception exception) {
                Log.d("LoginUsingLoginFragmentActivity", String.format("New session state: %s", state.toString()));
            }
        });
    }

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

}
E/AndroidRuntime(2901): FATAL EXCEPTION: main
06-14 13:46:28.087: 
E/AndroidRuntime(2901): java.lang.NoClassDefFoundError: com.example.LoginIntoFacebookActivity

E/AndroidRuntime(2901):     at com.example.activity.LoginActivity$1.onClick(LoginActivity.java:31)

Line 31:
        Intent intent = new Intent(MainLoginActivity.this, LoginIntoFacebookActivity.class);
<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.activity.MainLoginActivity"
            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" />
        <activity android:name="com.example.activity.LoginIntoFacebookActivity" />
        <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id" />
    </application>
if (facebook.getAccessToken() != null) {

            //user got logged in do you code here is 

        } else {
           loginToFacebook();//user is not login force user to first complete the login

            }

public void loginToFacebook() {

    mPrefs = getPreferences(MODE_PRIVATE);
    String access_token = mPrefs.getString("access_token", null);
    long expires = mPrefs.getLong("access_expires", 0);

    if (access_token != null) {
        facebook.setAccessToken(access_token);

        Log.d("FB Sessions", "" + facebook.isSessionValid());
    }

    if (expires != 0) {
        facebook.setAccessExpires(expires);
    }

    if (!facebook.isSessionValid()) {
        facebook.authorize(this,
                new String[] { "email", "publish_stream" },
                new DialogListener() {

                    @Override
                    public void onCancel() {
                        // Function to handle cancel event
                    }

                    @Override
                    public void onComplete(Bundle values) {
                        // Function to handle complete event
                        // Edit Preferences and update facebook acess_token
                        SharedPreferences.Editor editor = mPrefs.edit();
                        editor.putString("access_token",
                                facebook.getAccessToken());
                        editor.putLong("access_expires",
                                facebook.getAccessExpires());
                        editor.commit();
                        Toast.makeText(sms_by_id.this,
                                "Successfully Login", Toast.LENGTH_LONG)
                                .show();
                        pwindo.dismiss();

                        // Making Login button invisible

                    }

                    @Override
                    public void onError(DialogError error) {
                        // Function to handle error

                    }

                    @Override
                    public void onFacebookError(FacebookError fberror) {
                        // Function to handle Facebook errors
                        pwindo.dismiss();
                        Toast.makeText(sms_by_id.this, "Facebook Error",
                                Toast.LENGTH_LONG).show();
                    }

                });
    }
}