2013-11-21 3 views
9

저는 AbstractAccountAuthenticator를 사용하고 있으며 내 앱을 단일 계정으로하고 싶습니다. 따라서 사용자가이 앱에 대한 새 계정을 추가하려고 할 때 메시지를 표시하려고합니다. 나는 다른 애플 리케이션이 메시지에 대한 축배를 사용하는 것을 보았지만, 몇 가지 이유 때문에 내 메시지가 표시되지 않습니다.android sdk는 계정 설정에서 토스트 메시지를 표시합니다.

public Bundle addAccount() { 
    if (accounts.size() > 0) { 
     Toast.makeText(context, R.string.MSG_ONLY_ONE_ACCOUNT_IS_SUPPORTED, Toast.LENGTH_LONG).show(); 
     return null; 
    } 
} 

어떤 아이디어 이유 :

는이 같은 메시지를 표시? AbstractAccountAuthenticator에서 addAccount() 메소드의 계정 번호를 확인하고 있습니다.

+0

당신은'addAccount은()'라고하며'사실'> '0'accounts.size()라고되고 있음을 확인 했습니까? – Kirk

+0

예, 표시되지 않은 메시지를 제외하고는 모든 것이 정상입니다. – Alex

답변

11

나는 이것들을 둘러 보았습니다. 다음 답변은 나를 도왔습니다 : 1, 2.

코드 예제를 사용 :

private final Handler handler = new Handler(); 

public Bundle addAccount(...) { 
    if (accounts.size() > 0) { 
     final Bundle bundle = new Bundle(); 
     final String message = 
        mContext.getString(R.string.MSG_ONLY_ONE_ACCOUNT_IS_SUPPORTED); 
     bundle.putInt(AccountManager.KEY_ERROR_CODE, 1); 
     bundle.putString(AccountManager.KEY_ERROR_MESSAGE, message); 

     handler.post(new Runnable() { 
      @Override 
      public void run() { 
       Toast.makeText(context, message, Toast.LENGTH_SHORT).show(); 
      } 
     }); 

     return bundle; 
    } 
} 
+2

처리기가 addAccount 메소드 외부에 정의되어 있는지 확인하십시오. 그렇지 않으면 오류가 발생합니다 (예를 들어). 모두에게 좋은 소식입니다. – pkramaric

+0

이 게시물을 대단히 감사합니다. 내 하루를 구했다. – Henrik

관련 문제