Custom Tab을 이용한 하이브리드 앱을 업로드 했는데 에러가 발생했다.

 

content.ActivityNotFoundException : No Activity found to handle intent ... 뭐라고 나왔다.

두번째 이미지를 봤을때 딱 봐도 최신 기기가 아닌 옛날 기기에서 에러가 발생했다.

그랬을 때 유추해볼 수 있는 건 그 기기에 내가 사용한 기능이 없을 것 같다.

우선 어떤 기능인지 알면 SDK 버전으로 분류하여 해당 기능을 대체하면 된다,

 

그렇지만 그 기능이 해당 기기에서 아예 사용할 수가 없다면 crush가 발생하지 않고 해당 기능을 사용할 수 없게 try-catch문으로 예외처리를 했다.

CustomTab을 사용하지 못하는 폰에서는 WebView를 사용하게 만들어놨다.

        try{
            CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
            CustomTabsIntent customTabsIntent = builder.build();
            customTabsIntent.launchUrl(this, Uri.parse(url));
        }
        catch (Exception e){
            Log.e("err : " , e.toString());

            mWebView = (WebView) findViewById(R.id.wv_main);

            webSettings = mWebView.getSettings();
            webSettings.setJavaScriptEnabled(true);

            mWebView.setWebChromeClient(new WebChromeClient());
            mWebView.loadUrl(url);
        }

한국은 최신 기기들을 사용하니 스마트폰 테스트 때는 발생하지 않았었다. 업로드 하니 옛날버전도 다 테스트하다가 걸러진 것 같다.

+ Recent posts