2016-09-07 2 views
0
를 -android 실행하지 않습니다



// 코드FacebookCallback <LoginResult> 모든 코드가

 callback = new FacebookCallback<LoginResult>() { 
     Profile profile; 
     @Override 
     public void onSuccess(LoginResult loginResult) { 
      profile = Profile.getCurrentProfile(); 
      GraphRequest request = GraphRequest.newMeRequest(
        loginResult.getAccessToken(), 
        new GraphRequest.GraphJSONObjectCallback() { 
         @Override 
         public void onCompleted(JSONObject object, GraphResponse response) { 

          // Application code 
          try { 
           email=object.getString("email"); 
           login(email,profile.getId()); 

          } catch (JSONException e) { 
           e.printStackTrace(); 
          } 
         } 
        }); 
      Bundle parameters = new Bundle(); 
      parameters.putString("fields", "email"); 
      request.setParameters(parameters); 
      request.executeAsync(); 

      nextActivity(); 
     } 
     @Override 
     public void onCancel() { 
     } 

     @Override 
     public void onError(FacebookException e) { 
     } 
    }; 
public void login(String email,String password){ 
    editor.putBoolean("islogin",true); 
    editor.putString("email", email); 
    editor.putString("password",password); 
    editor.commit(); 
} 
내가 실행하지 않습니다 FacebookCallback하지만 로그인 방법에서 이메일을 얻으려면

나는 이메일을 사용하려고 할 때 (가변) 콜백 중 이메일의 첫 번째 값을 얻었습니까 ?? 이 문제를 어떻게 풀 수 있습니까? 감사

답변

0

email 변수는 코드에서 중첩 된 익명 함수의 외부에서 온 있어야 스 니펫을하지 않았기 때문에 :이 final를 선언 그래서 값이 없었을에 있었을 것입니다 의미합니다 new FacebookCallback<LoginResult>()new GraphRequest.GraphJSONObjectCallback() 코드에서 재설정 :

try { 
    String userEmail =object.getString("email"); 
    login(userEmail,profile.getId()); 
} 
+0

감사는 이마뿐만 아니라 그것이 내가 시도 작동하지 않습니다 : email=object.getString("email");

대신 로컬 변수를 사용해야합니다 INT 아이디 = 0 //에서 onCreate 방법에 시도 { 이메일 = object.getString ("이메일"); Log.v ("이메일", 이메일); Log.v ("Email", ""+ id); } 하지만 로그 고양이에서 나는 하나의 명령어 만 실행한다고 생각하는 전자 메일 만받습니다. –

+0

새 로컬 String 변수도 만드셨습니까? 어쩌면 업데이트를 포함하여 더 많은 코드를 게시 할 수 있으므로 어떤 일이 진행되고 있는지 더 잘 알 수 있습니까? – DataDino

+0

또한 로그가 유용합니다. 그것도 추가하십시오. – DataDino