File tree Expand file tree Collapse file tree 1 file changed +17
-12
lines changed
packages/firebase-messaging-core Expand file tree Collapse file tree 1 file changed +17
-12
lines changed Original file line number Diff line number Diff line change @@ -58,18 +58,23 @@ let _permissionQueue: { resolve: Function; reject: Function }[] = [];
58
58
59
59
function register ( args : any ) {
60
60
if ( ! lastActivity ) {
61
- lastActivity = new WeakRef ( args . activity ) ;
62
- requestPermissionLauncher = args . activity . registerForActivityResult (
63
- new androidx . activity . result . contract . ActivityResultContracts . RequestPermission ( ) ,
64
- new androidx . activity . result . ActivityResultCallback ( {
65
- onActivityResult ( isGranted : boolean ) {
66
- _permissionQueue . forEach ( ( callback ) => {
67
- callback . resolve ( isGranted ? 0 : 1 ) ;
68
- } ) ;
69
- _permissionQueue . splice ( 0 ) ;
70
- } ,
71
- } )
72
- ) ;
61
+ // Some activities do not implement activity result API
62
+ if ( args . activity . registerForActivityResult ) {
63
+ lastActivity = new WeakRef ( args . activity ) ;
64
+ requestPermissionLauncher = args . activity . registerForActivityResult (
65
+ new androidx . activity . result . contract . ActivityResultContracts . RequestPermission ( ) ,
66
+ new androidx . activity . result . ActivityResultCallback ( {
67
+ onActivityResult ( isGranted : boolean ) {
68
+ _permissionQueue . forEach ( ( callback ) => {
69
+ callback . resolve ( isGranted ? 0 : 1 ) ;
70
+ } ) ;
71
+ _permissionQueue . splice ( 0 ) ;
72
+ } ,
73
+ } )
74
+ ) ;
75
+ } else {
76
+ Application . android . once ( 'activityCreated' , register ) ;
77
+ }
73
78
}
74
79
}
75
80
You can’t perform that action at this time.
0 commit comments