Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android中FaceBook第三方登錄集成

Android中FaceBook第三方登錄集成

編輯:關於Android編程

1、首先是要先下載 FaceBook SDK Android 版;

2、導入FaceBookSDK 作為Library 引入到自己的項目中

3、在FaceBook 注冊一個 測試應用

4、配置AndroidManifest.xml:

        
          

在String 中添加:

1548440642074664
5、添加 Facebook 登錄按鈕 :

 

6、在activity中添加代碼:

public class MainActivity extends Activity {
	private static final String TAG = "MainActivity";
	private UiLifecycleHelper uiHelper;

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

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		uiHelper = new UiLifecycleHelper(MainActivity.this, callback);
		uiHelper.onCreate(savedInstanceState);
		
		setContentView(R.layout.activity_main);
		LoginButton authButton = (LoginButton) findViewById(R.id.login_button);
		authButton.setReadPermissions(Arrays
				.asList("email","user_likes", "user_status"));

	}
	
	private void onSessionStateChange(Session session, SessionState state,
			Exception exception) {
		if (state.isOpened()) {
			Log.i(TAG, "Logged in...");
		} else if (state.isClosed()) {
			Log.i(TAG, "Logged out...");
		}
	}
	
	@Override
	public void onResume() {
		super.onResume();

		// For scenarios where the main activity is launched and user
		// session is not null, the session state change notification
		// may not be triggered. Trigger it if it's open/closed.
		Session session = Session.getActiveSession();
		if (session != null && (session.isOpened() || session.isClosed())) {
			onSessionStateChange(session, session.getState(), null);
		}

		uiHelper.onResume();
	}

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

	@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);
	}
	
}

如果想得到用戶的基本信息:

private void getUserInfo() {
		  String fqlQuery = "SELECT uid,name,email FROM user WHERE uid = me()";  
        Bundle params = new Bundle();  
        params.putString("q", fqlQuery);  
        Request request = new Request(Session.getActiveSession(),  
            "/me",                           
            params,                           
            HttpMethod.GET,                   
            new Request.Callback(){           
                public void onCompleted(Response response) {  
                    String str = response.toString();
                	  Log.i(TAG, str); 
                }                    
        });   
        Request.executeBatchAsync(request);
	}




  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved