11package backtraceio .library .breadcrumbs ;
22
3+ import static android .content .Context .RECEIVER_EXPORTED ;
4+
35import android .app .Application ;
46import android .content .Context ;
7+ import android .os .Build ;
58
69import java .util .EnumSet ;
710import java .util .HashMap ;
@@ -101,10 +104,7 @@ private void registerAutomaticBreadcrumbReceivers() {
101104 BacktraceLogger .d (LOG_TAG , "No breadcrumbs are enabled, not registering any new breadcrumb receivers" );
102105 return ;
103106 }
104-
105- backtraceBroadcastReceiver = new BacktraceBroadcastReceiver (this );
106- context .registerReceiver (backtraceBroadcastReceiver ,
107- backtraceBroadcastReceiver .getIntentFilter ());
107+ registerBroadcastReceiver ();
108108
109109 if (enabledBreadcrumbTypes .contains (BacktraceBreadcrumbType .SYSTEM )) {
110110 backtraceComponentListener = new BacktraceComponentListener (this );
@@ -117,6 +117,18 @@ private void registerAutomaticBreadcrumbReceivers() {
117117 }
118118 }
119119
120+ private void registerBroadcastReceiver () {
121+ backtraceBroadcastReceiver = new BacktraceBroadcastReceiver (this );
122+
123+ if (Build .VERSION .SDK_INT >= 33 ) {
124+ context .registerReceiver (backtraceBroadcastReceiver ,
125+ backtraceBroadcastReceiver .getIntentFilter (), RECEIVER_EXPORTED );
126+ } else {
127+ context .registerReceiver (backtraceBroadcastReceiver ,
128+ backtraceBroadcastReceiver .getIntentFilter ());
129+ }
130+ }
131+
120132 @ Override
121133 public boolean enableBreadcrumbs (Context context ) {
122134 return enableBreadcrumbs (context , BacktraceBreadcrumbType .ALL );
@@ -347,6 +359,7 @@ private boolean addConfigurationBreadcrumb() {
347359
348360 /**
349361 * Determinate if Breadcrumbs are enabled.
362+ *
350363 * @return true if breadcrumbs are enabled.
351364 */
352365 public boolean isEnabled () {
0 commit comments