我正在創建一個應用程序,我想在其中集成facebook sdk
。我想用facebook
登錄用戶,但它造成了問題。Facebook與定製按鈕的集成
它只工作一次。如果我安裝了應用程序並使用facebook
登錄,它可以正常工作,但是當我卸載我的應用程序並嘗試安裝並使用facebook
重新登錄時,它無法正常工作。它不是要求access permission
而是無所事事。
我想再問一個問題,我想製作自定義facebook登錄按鈕併成功登錄後轉到下一個Activity
。
這裏我已經做了。我不知道哪裏錯了?
這是我主要的xml:
<ImageButton
android:id="@+id/btnFblogin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:onClick="onClick"
android:src="@drawable/fb_signin" />
<com.facebook.login.widget.LoginButton
android:id="@+id/fb_login_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
這裏是我的片段:
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
FacebookSdk.sdkInitialize(getApplicationContext());
callbackManager = CallbackManager.Factory.create();
btnFbLog = (ImageButton) view.findViewById(R.id.btnFblogin);
btnFbLog.setOnClickListener(this);
return view;}
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnFblogin:
mSignInClicked = true;
Toast.makeText(getApplicationContext(), "Clicked on facebook login", Toast.LENGTH_SHORT).show();
fbloginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
//updateFacebookButtonUI();
Profile profile = Profile.getCurrentProfile();
loginSocial(profile.getId(), Const.SOCIAL_FACEBOOK);
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException error) {
}
});
public void onActivityResult(int requestCode, int responseCode, Intent data) {
super.onActivityResult(requestCode, responseCode, data);
callbackManager.onActivityResult(requestCode, responseCode, data);
private void loginSocial(String id, String loginType) {
if (!AndyUtils.isNetworkAvailable(activity)) {
AndyUtils.showToast(getResources().getString(R.string.no_internet),
activity);
return;
}
AndyUtils.showCustomProgressDialog(activity,
getResources().getString(R.string.text_signin), false, null);
HashMap<String, String> map = new HashMap<String, String>();
map.put(Const.URL, Const.ServiceType.LOGIN);
map.put(Const.Params.SOCIAL_UNIQUE_ID, id);
map.put(Const.Params.DEVICE_TYPE, Const.DEVICE_TYPE_ANDROID);
map.put(Const.Params.DEVICE_TOKEN,
new PreferenceHelper(activity).getDeviceToken());
map.put(Const.Params.LOGIN_BY, loginType);
new HttpRequester(activity, map, Const.ServiceCode.LOGIN, this);
}
你對手機安裝了Facebook應用程序?當你沒有安裝它時,你能重現你的問題嗎? –
是的,臉譜網安裝在我的設備上 – user7108398
你看看'onError(..)'? –