1
facebok로 로그인해야합니다. 그 이유 때문에 SDK를 다운로드하고 내 방법을 만들었습니다.AsyncTask 및 콜백 Android
사용자 정보가 기록 된 후 내 웹 서비스에 보내고 내 활동에 콜백해야합니다.
여기 코드가 있습니다. onComplete 나는 무엇이 필요한지 설명하려고 애썼다. 기본적으로 나는 현재 활동에 대한 콜백이 필요하다.
public class DisplayLoginActivity extends FragmentActivity {
/** Called when the activity is first created. */
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.display_login_activity);
login();
}
public void login(){
facebook = new Facebook(kAppId);
facebook.authorize(this, new DialogListener() {
@Override
public void onComplete(Bundle values) {
System.out.println("onComplete");
JSONObject me = null;
me = new JSONObject(facebook.request("me"));
String id = me.getString("id");
//I want here to call other async request and make it call back to DisplayLoginActivity, for that
//reason i created callback with interface so i need to give this of my Activity
//If i give this so it's DialogListener this. I tried to do this DisplayLoginActivity.this but it crashes
}
@Override
public void onFacebookError(FacebookError error) {
error.getMessage();
}
@Override
public void onError(DialogError e) {
}
@Override
public void onCancel() {
}
});
}
}
혹시 아이디어가 있습니까? 감사합니다. .
편집 :
04-20 08:34:50.270: E/AndroidRuntime(7642): FATAL EXCEPTION: Thread-10
04-20 08:34:50.270: E/AndroidRuntime(7642): java.lang.ExceptionInInitializerError
04-20 08:34:50.270: E/AndroidRuntime(7642): at com.my.main.DisplayLoginActivity$1$1.run(DisplayLoginActivity.java:161)
04-20 08:34:50.270: E/AndroidRuntime(7642): at java.lang.Thread.run(Thread.java:1019)
04-20 08:34:50.270: E/AndroidRuntime(7642): Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
04-20 08:34:50.270: E/AndroidRuntime(7642): at android.os.Handler.<init>(Handler.java:121)
04-20 08:34:50.270: E/AndroidRuntime(7642): at android.os.AsyncTask$InternalHandler.<init>(AsyncTask.java:421)
04-20 08:34:50.270: E/AndroidRuntime(7642): at android.os.AsyncTask$InternalHandler.<init>(AsyncTask.java:421)
04-20 08:34:50.270: E/AndroidRuntime(7642): at android.os.AsyncTask.<clinit>(AsyncTask.java:152)
04-20 08:34:50.270: E/AndroidRuntime(7642): ... 2 more
logcat 충돌 메시지를 붙여 넣을 수 있습니까? – idiottiger
충돌을 재현 할 수있는 코드를 전체 코드에 제공해야합니다. 위에 온 것처럼'onComplete()'의 코드가 있습니까? –