Android프로그래밍

[안드로이드] Fatal Exception: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.CHANNEL_NOTIFICATION_SETTINGS (has extras) } 오류 해결


파이어베이스 크래시틱스 화면에 새로운 오류가 잡혔다. Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS 가 존재하지 않는 안드로이드 폰이 있는 것 같다. 오류가 발생한 코드는 다음과같다.

            findViewById(R.id.setting_btn).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    //https://developer.android.com/training/notify-user/channels
                    String CHANNEL_ID = "b_test"; //백그라운드 서비스에 설정된 값
                    Intent intent = new Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS);
                    intent.putExtra(Settings.EXTRA_APP_PACKAGE, getPackageName());
                    intent.putExtra(Settings.EXTRA_CHANNEL_ID, CHANNEL_ID);
                    startActivityForResult(intent,1111);
                }
            });

오류가 발생한 안드로이드9 운영체제를 사용하는 KTC TV 브랜드의 휴대폰에서 발생되었다.

임시 방편으로 토스트세메지를 노출시켰다.

                    try {
                        //https://developer.android.com/training/notify-user/channels
                        String CHANNEL_ID = "b_channel_bar"; //백그라운드 서비스에 설정된 값
                        Intent intent = new Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS);
                        intent.putExtra(Settings.EXTRA_APP_PACKAGE, getPackageName());
                        intent.putExtra(Settings.EXTRA_CHANNEL_ID, CHANNEL_ID);
                        startActivityForResult(intent, 1111);
                    }catch (Exception e) {
                        Toast.makeText(NotiActivity.this, "죄송합니다. 지원되지 않는 휴대 전화입니다.", Toast.LENGTH_LONG).show();
                    }

error: Content is protected !!