2015-01-28 3 views
2

Authenticator 구성 요소를 쓰려고하는데 해결할 수없는 런타임 예외가 계속 발생합니다. 구현 한 것은 addAccount() 메소드뿐입니다. Android의 설정 -> 계정 -> 계정 추가를 통해 계정을 추가하려고 시도합니다. 목록에 성공적으로 나타나는 계정 유형을 선택합니다. 인증자가 시작되고 addAccount()를 호출합니다. 그것은 성공적하지만 인증 활동을 시작하는 짧은 중지하고이 예외가 발생합니다 : 인증 자의 addAccount()의인증 자 addAccount가 충돌을 일으킴

01-28 17:38:57.599  886-1466/? W/Binder﹕ Caught a RuntimeException from the binder stub implementation. 
    java.lang.NullPointerException 
      at com.android.server.accounts.AccountManagerService$Session.onResult(AccountManagerService.java:2203) 
      at android.accounts.IAccountAuthenticatorResponse$Stub.onTransact(IAccountAuthenticatorResponse.java:59) 
      at android.os.Binder.execTransact(Binder.java:404) 
      at dalvik.system.NativeStart.run(Native Method) 

구현 : 난 그냥 같은 문제를 해결

final Bundle bundle = new 
final Intent intent = new Intent(context, AuthenticatorActivity.class); 

intent.putExtra(AuthenticatorActivity.ARG_ACCOUNT_TYPE, accountType); 
intent.putExtra(AuthenticatorActivity.ARG_AUTH_TYPE, authTokenType); 
intent.putExtra(AuthenticatorActivity.ARG_IS_ADDING_NEW_ACCOUNT, true); 

intent.putExtra(AccountManager.KEY_ACCOUNT_AUTHENTICATOR_RESPONSE, response); 

bundle.putParcelable(AccountManager.KEY_INTENT, intent); 

return bundle; 
+0

동일한 문제가 있습니다. 아직 답을 찾지 못하셨습니까? – cybersam

답변

0

,하지만 내 솔루션 수도 있고 귀하에게 적용되지 않을 수도 있습니다.

나는 AndroidAnnotations을 사용하고 있으며 AuthenticatorActivity 클래스는 @EActivity으로 주석을 달았습니다. 따라서 나는 AuthenticatorActivity_.class (밑줄을 주목하라!)이라는 인 텐트를 만들어야하는데, 이것은 AndroidAnnotations에 의해 생성 된 클래스이다. 원래 클래스에는 많은 null 변수가있었습니다.

빌드 할 때 오류 또는 경고가 없으므로 나중에이 사실을 명심해야합니다.

이 정보가 도움이되기를 바랍니다.

그런데 나는 생성 된 클래스 이름을 explcitly 사용해야하는 다른 시나리오에 대해 설명하는 관련 AndroidAnnotations Issue을 발견했습니다. 이것이 어떻게 다루어 질지에 대한 논의가 있지만 이슈는 여전히 열려 있습니다.

관련 문제