Android 로그인 차단기 실행 방법 (1)
2187 단어 차단기Interceptorandroid 로그인
이 글은 첫 번째 방식을 먼저 말하는데 이런 방식이 실현되는 사고방식은 대체로 다음과 같다.
로그인 상태가 필요한 작업을 수행할 때, 이 동작을 차단기에 맡깁니다. 이 차단기는 이 작업을 로그인이 성공한 후로 연기합니다.
예를 들어 사용자가 개인 자료를 보려면 로그인 여부를 판단하는 것이 일반적이다. 로그인이 없으면 먼저 로그인한 다음에 로그인 페이지에서 되돌아온 다음onActivityResult에서 해당하는 점프를 실행해야 한다.그러나 만약에 차단기를 사용한 후에 개인 자료 페이지에 필요한 정보(예를 들어 activity를 표시하는 action)를 차단기에 전달하고 차단기를 처리한 후에 개인 자료 페이지로 넘어가면 원래의 수요에 관심을 가지고 개인 자료를 보면 된다.
다음은 코드 보기:
public void jumpToActivity(Context ctx, String target, Bundle params){
jumpToActivity(ctx, target, params, new Intent(ctx, getLoginClass()));
}
/**
*
* @param ctx
* @param target
* activity action
* @param params
* activity
* @param loginIntent
* intent
*/
public void jumpToActivity(Context ctx, String target, Bundle params,
Intent loginIntent) {
if (TextUtils.isEmpty(target) || loginIntent == null)
throw new RuntimeException("No target activity.");
JumpInvoker invoker = new JumpInvoker(target, params);
if (logon()) {
invoker.invoke(ctx);
} else {
loginIntent.putExtra(INVOKER, invoker);
loginIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ctx.startActivity(loginIntent);
}
}
코드 JumpInvoker 객체는 로그인에 성공한 논리 수행자로서 로그인 모듈로 전송되며, 로그인에 성공한 후 invoke 방법을 실행하여 지정된 페이지로 이동합니다. 코드 참조:
@Override
public void invoke(Context ctx) {
Intent it = new Intent(mTargetAction);
it.putExtras(mData);
it.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ctx.startActivity(it);
}
사용 방법:
1.로그인에 성공한 곳에서 Invoker 대상을 얻고 Invoker를 호출합니다.invoke 방법.
Invoker invoker = getIntent().getParcelableExtra(Interceptor.INVOKER);
invoker.invoke(getApplicationContext());
2.로그인 후 표시되는 Activity로 이동해야 할 경우 코드의 JumpToActivity 방법을 사용하여 대상 페이지의 action 및 매개 변수(비필요)를 전송하면 됩니다.
원본 코드와jar 패키지는 첨부 파일을 볼 수 있으며, 로그인 점프의 논리만 실현됩니다.다른 수요, 예를 들어 수집 클릭은 로그인 후 자동으로 수집할 수 있고Interceptor와 Invoker 인터페이스를 참조하면 된다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 차단기와 필터의 차이 분석그러면 클라이언트가 192.10.10.1 액세스 요청을 할 때 필터를 통해 클라이언트가 받은 응답은 이 IP 액세스 금지 알림입니다.자바 웹에서, 당신이 전송한request,response는 정보를 미리 필터링하거나...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.