2012-05-17 2 views
0

상황 : 1. 사용자 로그인 양식을 사용하여 응용 프로그램에 로그인하는 동시에 사용자가 salesforce에 로그인합니다. 2. 다음에 사용자가 응용 프로그램을 열면 로그인 양식을 얻지 않고 기본 화면을 직접 볼 수 있습니다. 3.이 기본 화면에서 SF에서 데이터를 검색하는 버튼 호출 동기화가 있지만 SF에 이미 로그인되어 있는지 확인해야합니다.안드로이드 애플리케이션에 이미 salesforce에 로그인했는지 어떻게 확인할 수 있습니까?

답변

1

oAuth를 사용하고 있지 않다면 대신에 그것을 사용하는 것이 좋습니다. 그러나 사용자가 아니라고 가정 할 때 세션 ID를 사용하여 사용자의 고유 한 사용자 레코드를 요청하고 세션 ID가 유효하지 않아 실패하면 로그인을 다시 할 수 있습니까?

이 방법 이외의 다른 방법으로 테스트 할 수 있으므로 API 문서를 읽어 보시기 바랍니다.

+0

ConnectorConfig 매개 변수 = 새 ConnectorConfig ("username", \t "password", null); { Salesforce.login (매개 변수, 새 SForceLoginResponseListener()); } catch (예외 e) { e.printStackTrace(); } 양해 해주십시오. 태그를 사용할 수 없습니다. @LaceySnr : 위에서 언급 한대로 로그인했습니다. 당신이 말하는 코드 스 니펫으로 설명해 주시겠습니까? – dreamer

+1

@dreamer 거기에서 SForceLoginResponseListener 클래스의 응답을 처리하는 논리를 추가해야합니다. 성공적인/잘못된 로그인 요청을 처리하기 위해서는 onComplete/onSforceError/onException 메소드가 있어야합니다. 로그인이 성공하면 세션 개체에서이를 추적하고 해당 작업에 대해 finish()를 호출합니다. 그런 다음 기본 화면의 onResume() 메소드에서 세션이 유효한지 확인하고, 그렇다면 동기화 버튼을 사용하여 활동으로 리디렉션하십시오. – JCD

+0

@JCD 예 같은 방식으로 생각하고 있었지만 한 번 응용 프로그램에 로그인 한 후 응용 프로그램을 닫으면 어떻게됩니까? 이제 응용 프로그램은 로그인 양식을 표시하지 않고 직접 기본 화면을 표시합니다. 지금 SF에 로그인 한 상황이 무엇이겠습니까? 아니면 다시해야합니까? – dreamer

관련 문제