本文整理汇总了Java中com.kakao.Session类的典型用法代码示例。如果您正苦于以下问题:Java Session类的具体用法?Java Session怎么用?Java Session使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
Session类属于com.kakao包,在下文中一共展示了Session类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onAttachedToWindow
import com.kakao.Session; //导入依赖的package包/类
/**
* 로그인 버튼 클릭시 세션을 오픈하도록 설정한다.
*/
@Override
protected void onAttachedToWindow() {
super.onAttachedToWindow();
inflate(getContext(), R.layout.kakao_login_layout, this);
setOnClickListener(new OnClickListener() {
public void onClick(View view) {
// 카톡 또는 카스가 존재하면 옵션을 보여주고, 존재하지 않으면 바로 직접 로그인창.
final List<AuthType> authTypes = getAuthTypes();
if(authTypes.size() == 1){
Session.getCurrentSession().open(authTypes.get(0));
} else {
onClickLoginButton(authTypes);
}
}
});
}
示例2: getAuthTypes
import com.kakao.Session; //导入依赖的package包/类
private List<AuthType> getAuthTypes() {
final List<AuthType> availableAuthTypes = new ArrayList<AuthType>();
if(TalkProtocol.existCapriLoginActivityInTalk(getContext())){
availableAuthTypes.add(AuthType.KAKAO_TALK);
}
if(StoryProtocol.existCapriLoginActivityInStory(getContext())){
availableAuthTypes.add(AuthType.KAKAO_STORY);
}
availableAuthTypes.add(AuthType.KAKAO_ACCOUNT);
final AuthType[] selectedAuthTypes = Session.getCurrentSession().getAuthTypes();
availableAuthTypes.retainAll(Arrays.asList(selectedAuthTypes));
// 개발자가 설정한 것과 available 한 타입이 없다면 직접계정 입력이 뜨도록 한다.
if(availableAuthTypes.size() == 0){
availableAuthTypes.add(AuthType.KAKAO_ACCOUNT);
}
return availableAuthTypes;
}
示例3: logIn
import com.kakao.Session; //导入依赖的package包/类
/**
* Facebook SDK의 함수를 직접 호출해줄 필요 없이, 자동으로 로그인해준다.
* callback을 통해 User 객체가 반환되고, 에러 발생시 HaruException을 반환한다.
*
* @param activity Facebook Login을 호출하는 activity
* @param callback Login Callback
*/
public static void logIn(Activity activity, final LoginCallback callback) {
if (isLogining) {
Log.i("Haru", "로그인중에는 로그인 함수를 중복 호출하실 수 없습니다.");
return;
}
isLogining = true;
currentActivity = new WeakReference<Activity>(activity);
currentCallback = callback;
// 카톡 또는 카스가 존재하면 옵션 다이얼로그를 보여주고, 존재하지 않으면 바로 직접 로그인창.
final List<AuthType> authTypes = getAuthTypes();
if(authTypes.size() == 1){
Session.getCurrentSession().open(authTypes.get(0));
} else {
showKakaoServiceChooser(authTypes);
}
}
示例4: getAuthTypes
import com.kakao.Session; //导入依赖的package包/类
/**
* 카카오톡, 카카오스토리 등의 설치 유무를 체크하여 가능한 로그인 수단의 목록을 반환한다.
* @return 카카오 로그인 수단 리스트 (AuthType)
*/
private static List<AuthType> getAuthTypes() {
final List<AuthType> availableAuthTypes = new ArrayList<AuthType>();
Activity activity = currentActivity.get();
if (TalkProtocol.existCapriLoginActivityInTalk(activity)) {
availableAuthTypes.add(AuthType.KAKAO_TALK);
}
if (StoryProtocol.existCapriLoginActivityInStory(activity)){
availableAuthTypes.add(AuthType.KAKAO_STORY);
}
availableAuthTypes.add(AuthType.KAKAO_ACCOUNT);
final AuthType[] selectedAuthTypes = Session.getCurrentSession().getAuthTypes();
availableAuthTypes.retainAll(Arrays.asList(selectedAuthTypes));
// 개발자가 설정한 것과 available 한 타입이 없다면 직접계정 입력이 뜨도록 한다.
if(availableAuthTypes.size() == 0){
availableAuthTypes.add(AuthType.KAKAO_ACCOUNT);
}
return availableAuthTypes;
}
示例5: checkSessionAndExecute
import com.kakao.Session; //导入依赖的package包/类
public static void checkSessionAndExecute(final APIHttpRequestTask requestTask, final HttpResponseHandler responseHandler) {
if (Session.getCurrentSession().isOpened())
HttpTaskManager.execute(requestTask);
else if (!requestAccessTokenWithRefreshToken(requestTask, responseHandler)) {
failedToRefreshAccessToken(requestTask, responseHandler, "session is closed before sending the request");
}
}
示例6: requestAccessTokenWithRefreshToken
import com.kakao.Session; //导入依赖的package包/类
private static boolean requestAccessTokenWithRefreshToken(final APIHttpRequestTask requestTask, final HttpResponseHandler responseHandler) {
return Session.getCurrentSession().implicitOpen(new SessionCallback() {
@Override
public void onSessionOpened() {
HttpTaskManager.execute(requestTask.updateSession());
}
@Override
public void onSessionClosed(final KakaoException exception) {
failedToRefreshAccessToken(requestTask, responseHandler, "session is closed during refreshing token for the request");
}
});
}
示例7: logInAfterKakaoLogined
import com.kakao.Session; //导入依赖的package包/类
/**
* Kakao SDK로 로그인 이후, 로그인 함수를 통해 받은 Access Token을 가지고 로그인한다.
* callback을 통해 User 객체가 반환되고, 에러 발생시 HaruException을 반환한다.
*
* @param callback Login Callback
*/
public static void logInAfterKakaoLogined(LoginCallback callback) {
final Session currentSession = Session.getCurrentSession();
if (currentSession == null) {
throw new IllegalAccessError("Kakao SDK를 통한 로그인 (Session.initializeSession) 이후 호출하세요.");
} else if (currentSession.isOpened()) {
throw new IllegalAccessError("세션이 아직 열리지 않았습니다. "
+ "Kakao SDK를 통한 로그인 (Session.initializeSession) 이후 호출하세요.");
}
internalLogin(callback);
}
示例8: onResume
import com.kakao.Session; //导入依赖的package包/类
/**
* {@link #logIn(android.app.Activity, com.haru.callback.LoginCallback)}을 통해
* 로그인했을 경우에 해당 액티비티의 onResume에서 호출해야 하는 함수이다.
*
* @param activity 호출한 액티비티
*/
public static void onResume(Activity activity) {
Session.initializeSession(activity, sessionCallback);
if (isLogining && Session.getCurrentSession().isOpened()) {
sessionCallback.onSessionOpened();
}
}
示例9: onResume
import com.kakao.Session; //导入依赖的package包/类
protected void onResume() {
super.onResume();
// 세션을 초기화 한다
if(Session.initializeSession(this, mySessionCallback)){
// 1. 세션을 갱신 중이면, 프로그레스바를 보이거나 버튼을 숨기는 등의 액션을 취한다
loginButton.setVisibility(View.GONE);
} else if (Session.getCurrentSession().isOpened()){
// 2. 세션이 오픈된된 상태이면, 다음 activity로 이동한다.
onSessionOpened();
}
// 3. else 로그인 창이 보인다.
}
示例10: onAttachedToWindow
import com.kakao.Session; //导入依赖的package包/类
/**
* 로그인 버튼 클릭시 세션을 오픈하도록 설정한다.
*/
@Override
protected void onAttachedToWindow() {
super.onAttachedToWindow();
inflate(getContext(), R.layout.kakao_login_layout, this);
setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Session.getCurrentSession().open(loginSessionCallback);
}
});
}
示例11: getTokenAuthHeaderValue
import com.kakao.Session; //导入依赖的package包/类
private static String getTokenAuthHeaderValue() {
final StringBuilder autorizationValue = new StringBuilder();
autorizationValue.append(ServerProtocol.AUTHORIZATION_BEARER).append(ServerProtocol.AUTHORIZATION_HEADER_DELIMITER).append(Session.getCurrentSession().getAccessToken());
return autorizationValue.toString();
}
示例12: logout
import com.kakao.Session; //导入依赖的package包/类
public static void logout() {
Session.getCurrentSession().close(sessionCallback);
}
示例13: getAuthHeaderValue
import com.kakao.Session; //导入依赖的package包/类
private static String getAuthHeaderValue() {
final StringBuilder autorizationValue = new StringBuilder();
autorizationValue.append(ServerProtocol.AUTHORIZATION_BEARER).append(" ").append(Session.getCurrentSession().getAccessToken());
return autorizationValue.toString();
}