应用程序死机时收到推送通知时Android崩溃-React-Native

时间:2020-09-09 11:33:15

标签: android react-native push-notification firebase-cloud-messaging

我最近为应用程序实现了推送通知,并且在android和ios上都可以正常运行,但是问题是当应用程序处于死状态时,设备会收到推送通知,而应用程序崩溃了。

我正在使用react-native-firebasereact-native-push-notifications,我遵循了这两个库文档的确切说明。

版本:

"@react-native-community/push-notification-ios": "^1.4.1",
    "@react-native-firebase/app": "^8.4.1",
    "@react-native-firebase/messaging": "^7.8.3",
"react-native-push-notification": "^5.0.1",

编辑:该应用最初是在Expo展览中,但我确实进行过EXP退出展览(以防万一,这有帮助)

这是我在发送推送通知后从logcat收到的错误消息

09-09 08:18:41.867  1277  1299 D StorageManagerService: getExternalStorageMountMode : final mountMode=1, uid : 10412, packageName : com.lawyr
09-09 08:18:41.867  1277  1299 I ApplicationPolicy: isApplicationExternalStorageWhitelisted:com.lawyr user:0
09-09 08:18:41.867  1277  1299 D ActivityManager: package  com.lawyr, user - 0 is SDcard whitelisted
09-09 08:18:41.867  1277  1299 I ApplicationPolicy: isApplicationExternalStorageBlacklisted:com.lawyr user:0
09-09 08:18:41.868  1277  1299 I ApplicationPolicy: isApplicationExternalStorageBlacklisted:com.lawyr user:0
09-09 08:18:41.891  1277  1301 I ActivityManager: Start proc 20576:com.lawyr/u0a412 for broadcast com.lawyr/io.invertase.firebase.messaging.ReactNativeFirebaseMessagingReceiver
09-09 08:18:41.910 20576 20576 I com.lawyr: Late-enabling -Xcheck:jni
09-09 08:18:41.982 20576 20576 I com.lawyr: report jit thread pid = 20581
09-09 08:18:42.012  1277  3404 I ActivityManager: DSS on for com.lawyr and scale is 1.0
09-09 08:18:43.466 20576 20576 W com.lawyr: Couldn't clamp region space as there are regions in use beyond growth limit.
09-09 08:18:43.753 20576 20602 W com.lawyr: Unsupported class loader
09-09 08:18:43.760 20576 20602 W com.lawyr: Skipping duplicate class check due to unsupported classloader
09-09 08:18:43.992  1277  3385 W ActivityManager: wait for provider publish: waiters=1 callerApp=ProcessRecord{144d3e9d0 20576:com.lawyr/u0a412} cpr=ContentProviderRecord{215686e u0 com.google.android.gsf/.gservices.GservicesProvider}
09-09 08:18:44.062 20576 20576 E AndroidRuntime: Process: com.lawyr, PID: 20576
09-09 08:18:44.076  1277  3712 W ActivityManager: crash : com.lawyr,0
09-09 08:18:44.086  2211  2211 W GCM     : broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE flg=0x10000000 pkg=com.lawyr (has extras) }
09-09 08:18:44.147  1277  3404 I ActivityManager: Process com.lawyr (pid 20576) has died: fore SVC (160,1102)
09-09 08:18:44.148  1277  3404 W ActivityManager: Scheduling restart of crashed service com.lawyr/io.invertase.firebase.messaging.ReactNativeFirebaseMessagingHeadlessService in 1000ms
09-09 08:18:44.323 20634 20656 D AppErrorNotification: errorType : 24, process : com.lawyr , uid : 0
09-09 08:18:45.150  1277  1299 D StorageManagerService: getExternalStorageMountMode : final mountMode=1, uid : 10412, packageName : com.lawyr
09-09 08:18:45.151  1277  1299 I ApplicationPolicy: isApplicationExternalStorageWhitelisted:com.lawyr user:0
09-09 08:18:45.151  1277  1299 D ActivityManager: package  com.lawyr, user - 0 is SDcard whitelisted
09-09 08:18:45.151  1277  1299 I ApplicationPolicy: isApplicationExternalStorageBlacklisted:com.lawyr user:0
09-09 08:18:45.151  1277  1299 I ApplicationPolicy: isApplicationExternalStorageBlacklisted:com.lawyr user:0
09-09 08:18:45.168  1277  1301 I ActivityManager: Start proc 20678:com.lawyr/u0a412 for service com.lawyr/io.invertase.firebase.messaging.ReactNativeFirebaseMessagingHeadlessService
09-09 08:18:45.185 20678 20678 I com.lawyr: Late-enabling -Xcheck:jni
09-09 08:18:45.252 20678 20678 I com.lawyr: report jit thread pid = 20683
09-09 08:18:45.283  1277  3404 I ActivityManager: DSS on for com.lawyr and scale is 1.0
09-09 08:18:46.793 20678 20678 W com.lawyr: Couldn't clamp region space as there are regions in use beyond growth limit.
09-09 08:18:47.104 20678 20702 W com.lawyr: Unsupported class loader
09-09 08:18:47.107 20678 20702 W com.lawyr: Skipping duplicate class check due to unsupported classloader
09-09 08:18:47.258 20634 20656 V FasUtils: There is com.lawyr [10412] in FAS table
09-09 08:18:47.264 20678 20678 I com.lawyr: Waiting for a blocking GC ClassLinker
09-09 08:18:47.342 20678 20678 I com.lawyr: WaitForGcToComplete blocked ClassLinker on ClassLinker for 77.385ms
09-09 08:18:47.355 20634 20656 V AppErrorNotification: Filtered due to 1day concept : com.lawyr / uid : 10412
09-09 08:18:47.428 20678 20678 E AndroidRuntime: Process: com.lawyr, PID: 20678
09-09 08:18:47.440  1277  2239 W ActivityManager: crash : com.lawyr,0
09-09 08:18:47.445  1277  1300 I ActivityManager: Showing crash dialog for package com.lawyr u0
09-09 08:18:47.523   501   766 I SurfaceFlinger: id=14168 createSurf (2960x2960),2 flag=4, 4008ef5 Application Error: com.lawyr#0
09-09 08:18:47.534  1277  1300 V WindowManager: Changing focus from Window{245b9a2 u0 com.sec.android.app.launcher/com.sec.android.app.launcher.activities.LauncherActivity} to Window{4008ef5 u0 Application Error: com.lawyr} Callers=com.android.server.wm.WindowManagerService.addWindow:1801 com.android.server.wm.Session.addToDisplayForTranslate:244 android.view.ViewRootImpl.setView:1006 android.view.WindowManagerGlobal.addView:381 
09-09 08:18:47.542  1277  1313 D WindowManager: reportFocusChangedSerialized, focused=true, inTouchMode=true, win=Window{4008ef5 u0 Application Error: com.lawyr}
09-09 08:18:47.551  1277  1300 V WindowManager: Relayout Window{4008ef5 u0 Application Error: com.lawyr}: viewVisibility=0 req=719x339 {(0,0)(wrapxwrap) gr=BOTTOM CENTER_VERTICAL sim={adjust=pan forwardNavigation} ty=SYSTEM_ALERT fmt=TRANSLUCENT wanim=0x10302ee surfaceInsets=Rect(4, 4 - 4, 4)
09-09 08:18:47.556  1277  1300 V WindowManager: Resize reasons for w=Window{4008ef5 u0 Application Error: com.lawyr}:  contentInsetsChanged=false [0,0][0,0] visibleInsetsChanged=false [0,0][0,0] stableInsetsChanged=false [0,0][0,0] outsetsChanged=false [0,0][0,0] surfaceResized=false configChanged=true dragResizingChanged=false reportOrientationChanged=false displayCutoutChanged=false nextForceRelayoutToClient=false
09-09 08:18:47.559   501   527 I SurfaceFlinger: id=14169 createSurf (727x347),1 flag=4, Application Error: com.lawyr#0
09-09 08:18:47.560  1277  1300 D WindowManager: makeSurface duration=2 name=Application Error: com.lawyr
09-09 08:18:47.573  1277  1300 D WindowManager: setSystemUiVisibility: vis= 0x8008, fullscreenVis= 0x0, dockedVis= 0x0, win=Window{4008ef5 u0 Application Error: com.lawyr}
09-09 08:18:47.589 20634 20737 D AppErrorNotification: errorType : 24, process : com.lawyr , uid : 0
09-09 08:18:47.622  1277  1300 D WindowManager: finishDrawingWindow: Window{4008ef5 u0 Application Error: com.lawyr} mDrawState=DRAW_PENDING
09-09 08:18:47.626  1277  1548 I WindowManager: commitFinishDrawingLocked: mDrawState=READY_TO_SHOW Surface(name=Application Error: com.lawyr)/@0xcb6bd7
09-09 08:18:47.627  1277  1548 I WindowManager: Cancelling animation restarting=true, leash=null, surface=Surface(name=4008ef5 Application Error: com.lawyr)/@0x238a7ad, parent=Surface(name=WindowToken{8f7f42c android.view.ViewRootImpl$W@f3b5fdf})/@0x2044ae2
09-09 08:18:47.627  1277  1548 I WindowManager: Reparenting to leash, surface=Surface(name=4008ef5 Application Error: com.lawyr)/@0x238a7ad
09-09 08:18:47.628   501   766 I SurfaceFlinger: id=14170 createSurf (2960x2960),2 flag=4, Surface(name=4008ef5 Application Error: com.lawyr)/@0x238a7ad - animation-leash#0
09-09 08:18:47.630  1277  1548 D WindowManager: makeSurface duration=2 leash=Surface(name=Surface(name=4008ef5 Application Error: com.lawyr)/@0x238a7ad - animation-leash)/@0x770ee73
09-09 08:18:47.630  1277  1548 D SurfaceControl: reparent is called, sc=Surface(name=4008ef5 Application Error: com.lawyr)/@0x238a7ad, newParentHandle=android.os.BinderProxy@3aec130, transaction=android.view.SurfaceControl$Transaction@b6511a9
09-09 08:18:47.630  1277  1548 V WindowManager: performShowLocked: mDrawState=HAS_DRAWN in Window{4008ef5 u0 Application Error: com.lawyr}
09-09 08:18:47.641   501   527 D Layer   : [4008ef5 Application Error: com.lawyr#0]::reparent oldParent:[WindowToken{8f7f42c android.view.ViewRootImpl$W@f3b5fdf}#0], newParent:[Surface(name=4008ef5 Application Error: com.lawyr)/@0x238a7ad - animation-leash#0]
09-09 08:18:47.677   501   501 I SurfaceFlinger:      Device | 0xa86f2e80 | 0000 | RGBA_8888 |   4.0    0.0  724.0  347.0 |    0 1099  720 1446 | Application Error: com.lawyr#0
09-09 08:18:47.695   501   501 I SurfaceFlinger:      Client | 0xa86f2e80 | 0000 | RGBA_8888 |   4.0    0.0  724.0  347.0 |    0 1092  720 1439 | Application Error: com.lawyr#0
09-09 08:18:47.830 20678 20712 I FA      :   adb shell setprop debug.firebase.analytics.app com.lawyr
09-09 08:18:47.867 20634 20737 V FasUtils: There is com.lawyr [10412] in FAS table
09-09 08:18:47.913 20634 20737 V AppErrorNotification: Filtered due to 1day concept : com.lawyr / uid : 10412
09-09 08:18:47.945  1277  1548 I WindowManager: reset, Reparenting to original parent, shouldDeferScheduleAnimation=false, destroyLeash=true, surface=Surface(name=4008ef5 Application Error: com.lawyr)/@0x238a7ad, parent=Surface(name=WindowToken{8f7f42c android.view.ViewRootImpl$W@f3b5fdf})/@0x2044ae2, parentNativeHandle=android.os.BinderProxy@56c4ce1, caller=com.android.server.wm.SurfaceAnimator.lambda$getFinishedCallback$0:97 com.android.server.wm.-$$Lambda$SurfaceAnimator$SIBia0mND666K8lMCPsoid8pUTI.run:4 com.android.server.wm.SurfaceAnimator.lambda$getFinishedCallback$1:104 com.android.server.wm.-$$Lambda$SurfaceAnimator$vdRZk66hQVbQCvVXEaQCT1kVmFc.onAnimationFinished:4 com.android.server.wm.LocalAnimationAdapter.lambda$startAnimation$0:74 
09-09 08:18:47.945  1277  1548 D SurfaceControl: reparent is called, sc=Surface(name=4008ef5 Application Error: com.lawyr)/@0x238a7ad, newParentHandle=android.os.BinderProxy@56c4ce1, transaction=android.view.SurfaceControl$Transaction@b6511a9
09-09 08:18:47.945  1277  1548 D SurfaceControl: destroy(transaction), animation-leash is destroyed, sc=Surface(name=Surface(name=4008ef5 Application Error: com.lawyr)/@0x238a7ad - animation-leash)/@0x770ee73, transaction=android.view.SurfaceControl$Transaction@b6511a9, caller=com.android.server.wm.SurfaceAnimator.reset:344 com.android.server.wm.SurfaceAnimator.lambda$getFinishedCallback$0:97 com.android.server.wm.-$$Lambda$SurfaceAnimator$SIBia0mND666K8lMCPsoid8pUTI.run:4 com.android.server.wm.SurfaceAnimator.lambda$getFinishedCallback$1:104 com.android.server.wm.-$$Lambda$SurfaceAnimator$vdRZk66hQVbQCvVXEaQCT1kVmFc.onAnimationFinished:4 com.android.server.wm.LocalAnimationAdapter.lambda$startAnimation$0:74 com.android.server.wm.-$$Lambda$LocalAnimationAdapter$X--EomqUvw4qy89IeeTFTH7aCMo.run:4 
09-09 08:18:47.947  1277  1548 D WindowManager: prepareSurfaces, request to clear saved leash, surface=Surface(name=4008ef5 Application Error: com.lawyr)/@0x238a7ad
09-09 08:18:47.948   501   766 D Layer   : [4008ef5 Application Error: com.lawyr#0]::reparent oldParent:[Surface(name=4008ef5 Application Error: com.lawyr)/@0x238a7ad - animation-leash#0], newParent:[WindowToken{8f7f42c android.view.ViewRootImpl$W@f3b5fdf}#0]
09-09 08:18:47.948   501   766 I SurfaceFlinger: id=14170 Removed Surface(name=4008ef5 Application Error: com.lawyr)/@0x238a7ad - animation-leash#0 (1/44)
09-09 08:18:47.950  1277  1548 D WindowManager: clearSavedLeashOnCommit, savedLeash=Surface(name=Surface(name=4008ef5 Application Error: com.lawyr)/@0x238a7ad - animation-leash)/@0x770ee73, caller=com.android.server.wm.WindowContainer.clearSavedLeashOnCommit:1156 com.android.server.wm.WindowContainer.clearSavedLeashOnCommit:1160 com.android.server.wm.WindowContainer.clearSavedLeashOnCommit:1160 com.android.server.wm.WindowContainer.clearSavedLeashOnCommit:1160 com.android.server.wm.RootWindowContainer.performSurfacePlacement:796 com.android.server.wm.WindowSurfacePlacer.performSurfacePlacementLoop:212 
09-09 08:18:47.954   501   501 I Layer   : id=14170 onRemoved Surface(name=4008ef5 Application Error: com.lawyr)/@0x238a7ad - animation-leash#0

清单文件

<meta-data  android:name="com.dieam.reactnativepushnotification.notification_channel_name"
                android:value="Group Test"/>
        <meta-data  android:name="com.dieam.reactnativepushnotification.notification_channel_description"
                    android:value="Notify the status of on-going group tests and receive invitations for group tests"/>

        <!-- Change the value to true to enable pop-up for in foreground (remote-only, for local use ignoreInForeground) -->
        <meta-data  android:name="com.dieam.reactnativepushnotification.notification_foreground"
                    android:value="false"/>
        <!-- Change the value to false if you don't want the creation of the default channel -->
        <meta-data  android:name="com.dieam.reactnativepushnotification.channel_create_default"
                    android:value="true"/>
        <!-- Change the resource name to your App's accent color - or any other color you want -->
        <meta-data  android:name="com.dieam.reactnativepushnotification.notification_color"
                    android:resource="@color/white"/> <!-- or @android:color/{name} to use a standard color -->

        <receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationActions" />
        <receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationPublisher" />
        <receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationBootEventReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>

        <service
            android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationListenerService"
            android:exported="false" >
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT" />
            </intent-filter>
        </service>

请告诉我是否需要提供更多代码,谢谢。

0 个答案:

没有答案