我的Android應用程序中有facebook用戶登錄問題。我希望用戶使用他們的Facebook帳戶登錄我的系統,但當我點擊登錄按鈕時,Facebook本地應用程序啓動,用戶輸入電子郵件和密碼,然後原生應用程序關閉,我的應用程序再次啓動。我不想使用本地應用程序進行此登錄過程,我想打開Facebook登錄彈出窗口,只有其他手機沒有Facebook本地應用程序。如何禁用用戶登錄的Facebook本機應用程序
我怎樣才能做到這一點? 感謝
編輯:
我使用的方法下面登錄
protected void loginToFacebook()
{
if(!mFacebook.isSessionValid()) {
Toast.makeText(mActivity, "logining", Toast.LENGTH_SHORT).show();
mFacebook.authorize(mActivity,permissions, new LoginDialogListener());
}
else {
try {
JSONObject json = Util.parseJson(mFacebook.request("me"));
String facebookID = json.getString("id");
String firstName = json.getString("first_name");
String lastName = json.getString("last_name");
String email = json.getString("email");
Toast.makeText(mActivity, mFacebook.getAccessToken()+email+"-" + firstName + " " + lastName + ". No need to re-authorize.", Toast.LENGTH_SHORT).show();
appState.mFbToken = mFacebook.getAccessToken();
appState.mFbEmail = email;
mFacebookListener.onFacebookLoginSelected();
}
catch(Exception error) {
Toast.makeText(mActivity, error.toString(), Toast.LENGTH_SHORT).show();
}
}
}
收聽響應
public final class LoginDialogListener implements DialogListener {
public void onComplete(Bundle values) {
try {
//The user has logged in, so now you can query and use their Facebook info
JSONObject json = Util.parseJson(mFacebook.request("me"));
String facebookID = json.getString("id");
String firstName = json.getString("first_name");
String lastName = json.getString("last_name");
String email = json.getString("email");
Toast.makeText(mActivity, mFacebook.getAccessToken() +email+"-" + firstName + " " + lastName + "!", Toast.LENGTH_SHORT).show();
SessionStore.save(mFacebook, mActivity);
appState.mFbToken = mFacebook.getAccessToken();
appState.mFbEmail = email;
mFacebookListener.onFacebookLoginSelected();
}
catch(Exception error) {
Toast.makeText(mActivity, error.toString(), Toast.LENGTH_SHORT).show();
}
}
public void onFacebookError(FacebookError error) {
Toast.makeText(mActivity, "Something went wrong. Please try again.", Toast.LENGTH_LONG).show();
}
public void onError(DialogError error) {
Toast.makeText(mActivity, "Something went wrong. Please try again.", Toast.LENGTH_LONG).show();
}
public void onCancel() {
Toast.makeText(mActivity, "Something went wrong. Please try again.", Toast.LENGTH_LONG).show();
}
}
如果本機應用程序開始我dialoglistenner不工作,但如果基於Web的登錄彈出開始我的聽衆很好。
任何想法?
謝謝您的回答這對我的作品好。 – KAPLANDROID 2012-08-08 08:50:31
我有一個混淆,我只使用Facebook的登錄按鈕的UI是可能的 – 2015-09-24 13:50:04
我的意思是禁用Facebook登錄按鈕的功能。 – 2015-09-24 13:50:45