Android 로그인 차단기 실행 방법 (1)

앱 측에서 만약에 사용자가 로그인한 후에 로그인 전의 조작을 자동으로 연장할 수 있다면 매우 좋은 사용자 체험이 될 것이다.그래서 전문적으로 시간을 들여 두 가지 방법을 생각해서 이 수요를 실현했다.
이 글은 첫 번째 방식을 먼저 말하는데 이런 방식이 실현되는 사고방식은 대체로 다음과 같다.
로그인 상태가 필요한 작업을 수행할 때, 이 동작을 차단기에 맡깁니다. 이 차단기는 이 작업을 로그인이 성공한 후로 연기합니다.
예를 들어 사용자가 개인 자료를 보려면 로그인 여부를 판단하는 것이 일반적이다. 로그인이 없으면 먼저 로그인한 다음에 로그인 페이지에서 되돌아온 다음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 인터페이스를 참조하면 된다.

좋은 웹페이지 즐겨찾기