개발 창고/Android

[Android] WebView에 Header추가하기

로이제로 2020. 8. 20. 14:06
반응형

안드로이드 웹뷰 프로그램을 개발하다 보면 Header에 정보를 담아 보내면 편리한 경우가 있습니다.

저 같은 경우엔, 디바이스의 정보(예, fcm token, uuid 등)을 담아 보내서 기기의 접근을 분석할 때 활용하기도 합니다.

 

해당 소스는 Android API level 8(Android 2.2.2x, FROYO)부터 활용가능합니다.

 

버전에 대한 정보는 하단의 페이지에서 확인 가능합니다.

https://developer.android.com/guide/topics/manifest/uses-sdk-element?hl=ko#ApiLevels

 

 |  Android 개발자  |  Android Developers

Lets you express an application's compatibility with one or more versions of the Android platform, by means of an API Level integer. The API Level expressed by an application will be compared to the API Level of a given Android system, which may vary…

developer.android.com

    private String uuid = "UUID";
    private String token = "토큰값";
    
    /**
    * 웹뷰에 페이지를 로딩해준다
    * @param view 로딩할 웹뷰
    * @param url 로딩할 경로
    */
    private void loadUrl(WebView view, String url){
        Map<String, String> device = new HashMap<>();
        device.put("uuid", devId);    // uuid 추가
        device.put("token", token); // FCM 토큰 추가

        view.loadUrl(url, device);
    }

다음과 같이 MainActivity에 선언을 해주고 아래와 같이 활용한다면 webview의 loadUrl시마다 Header에 선언 없이 활용 가능합니다.

public class MainActivity extends AppCompatActivity {
    private WebView mWebView;
    
    ...

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        // mWebView.loadUrl("http://royzero.tistory.com/");
        loadUrl(mWebView, "http://royzero.tistory.com/");
    }
    
    ...
    
}
반응형