diff --git a/res/values/strings.xml b/res/values/strings.xml
index 1542314af54..9bc9b5e26be 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -7312,6 +7312,9 @@
Send & receive when mobile data is off
+
+ com.android.cellbroadcastreceiver
+
diff --git a/res/xml/app_and_notification.xml b/res/xml/app_and_notification.xml
index f75bd8629ae..b49918024a3 100644
--- a/res/xml/app_and_notification.xml
+++ b/res/xml/app_and_notification.xml
@@ -82,7 +82,7 @@
settings:useAdminDisabledSummary="true">
diff --git a/src/com/android/settings/notification/EmergencyBroadcastPreferenceController.java b/src/com/android/settings/notification/EmergencyBroadcastPreferenceController.java
index 7add167ab8e..de7e7801ac2 100644
--- a/src/com/android/settings/notification/EmergencyBroadcastPreferenceController.java
+++ b/src/com/android/settings/notification/EmergencyBroadcastPreferenceController.java
@@ -24,6 +24,7 @@ import android.os.UserManager;
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
+import com.android.internal.telephony.CellBroadcastUtils;
import com.android.settings.accounts.AccountRestrictionHelper;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.RestrictedPreference;
@@ -88,7 +89,9 @@ public class EmergencyBroadcastPreferenceController extends AbstractPreferenceCo
com.android.internal.R.bool.config_cellBroadcastAppLinks);
if (enabled) {
try {
- if (mPm.getApplicationEnabledSetting("com.android.cellbroadcastreceiver")
+ String packageName = CellBroadcastUtils
+ .getDefaultCellBroadcastReceiverPackageName(mContext);
+ if (packageName == null || mPm.getApplicationEnabledSetting(packageName)
== PackageManager.COMPONENT_ENABLED_STATE_DISABLED) {
enabled = false; // CMAS app disabled
}