1. SDK 버전 1.0.16이상 사용

가이드: Flex SDK 레퍼런스

참고: GitHub - FlexApp Android

kr.co.flexapp.andr:flex-lib:1.0.16

2. 커스텀 프래그먼트 선언

FlexFragment를 상속하는 커스텀 프래그먼트(Custom Fragment) 를 선언하세요.

import kr.co.ksystem.companity.FlexFragment;
import kr.co.ksystem.companity.dto.CustomAction;

public class MyFragment extends FlexFragment {
    @Override
    protected void onCustomAction(CustomAction customAction, PassResultToWeb passResultToWeb) {
        //onCustomAction() 콜백은 웹뷰 컨텍스트에서 받은 커스텀 액션을 처리하는 데 사용해야 합니다.
        //받은 customAction?.action 및 customAction?.param에 따라 처리합니다.
        //액션의 결과를 passResultToWeb?.onResult(errStr, resultStr)로 전달합니다.
    }
}

3. Activity에서 커스텀 프래그먼트 생성

알림 Intent의 linkParam과 appId(fAppID)를 커스텀 프래그먼트로 전달합니다.

Activity는 반드시 AppCompatActivity를 상속하고,FlexFragment.onWebViewBackPressed 인터페이스를 구현해야 합니다. 이렇게 하면 웹뷰에서의 뒤로가기 동작을 액티비티로 전달할 수 있습니다.

또한, onDestroy(), onStop(), onPause() 콜백 내에서 반드시 아래 메서드를 호출해 주세요:

CookieManager.getInstance().flush();

3-1. 레이아웃 파일 생성 및 연결 [26.05.29 추가]

Activity가 화면에 표시할 레이아웃 파일을 생성하고, 커스텀 프래그먼트를 담을 컨테이너 뷰 선언이 필요합니다.

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="<http://schemas.android.com/apk/res/android>"
    xmlns:app="<http://schemas.android.com/apk/res-auto>"
    xmlns:tools="<http://schemas.android.com/tools>"
    android:id="@+id/main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <androidx.fragment.app.FragmentContainerView
        android:id="@+id/myFrag"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</androidx.constraintlayout.widget.ConstraintLayout>