[안드로이드] 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();
}