sealtalk / sealtalk-android

RongCloud Android SDK Demo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

音视频通话页面闪退

DituLin opened this issue · comments

commented

手机型号:
一加 3T 与三星 s8

手机系统:
Android 9.0 与 Android 7.0

现象:
一加手机 sealtalk 未启动,s 8 呼叫一加手机上的用户,当一加手机打开 sealtalk 后,app 闪退。高概率

日志代码:
2019-08-06 16:37:59.725 6915-6927/cn.rongcloud.im E/[RC:P-connect_entry-S]: {"ptid":"6943-44032","code":-1,"cmp":"120.92.13.43:8044","duration":0}

--------- beginning of crash

2019-08-06 16:37:59.725 6915-6915/cn.rongcloud.im E/AndroidRuntime: FATAL EXCEPTION: main
Process: cn.rongcloud.im, PID: 6915
java.lang.RuntimeException: Unable to start receiver cn.rongcloud.im.push.SealNotificationReceiver: android.content.ActivityNotFoundException: No Activity found to handle Intent { dat=rong://cn.rongcloud.im/conversationlist?isFromPush=false flg=0x10000000 pkg=cn.rongcloud.im }
at android.app.ActivityThread.handleReceiver(ActivityThread.java:3523)
at android.app.ActivityThread.access$1400(ActivityThread.java:207)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1759)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6863)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:537)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: android.content.ActivityNotFoundException: No Activity found to handle Intent { dat=rong://cn.rongcloud.im/conversationlist?isFromPush=false flg=0x10000000 pkg=cn.rongcloud.im }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2199)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1860)
at android.app.ContextImpl.startActivity(ContextImpl.java:920)
at android.app.ContextImpl.startActivity(ContextImpl.java:891)
at android.content.ContextWrapper.startActivity(ContextWrapper.java:379)
at android.content.ContextWrapper.startActivity(ContextWrapper.java:379)
at io.rong.push.notification.PushMessageReceiver.handleVoIPNotification(PushMessageReceiver.java:135)
at io.rong.push.notification.PushMessageReceiver.onReceive(PushMessageReceiver.java:42)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:3507)
at android.app.ActivityThread.access$1400(ActivityThread.java:207) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1759) 
at android.os.Handler.dispatchMessage(Handler.java:106) 
at android.os.Looper.loop(Looper.java:193) 
at android.app.ActivityThread.main(ActivityThread.java:6863) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:537) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 
2019-08-06 16:37:59.728 6915-6927/cn.rongcloud.im E/[RC:P-connect_entry-S]: {"ptid":"6943-44032","code":-1,"cmp":"t-tcpproxy-cn.ronghub.com:443","duration":0}
2019-08-06 16:37:59.733 6915-6927/cn.rongcloud.im E/[RC:P-connect_entry-S]: {"ptid":"6943-44032","code":-1,"cmp":"t-tcpproxy-cn.ronghub.com:8100","duration":0}
2019-08-06 16:37:59.733 6915-6915/cn.rongcloud.im W/RongLog: [ FileUtils ] getCachePath = /storage/emulated/0/Android/data/cn.rongcloud.im/cache/crashlog, result = true
2019-08-06 16:37:59.739 6915-6927/cn.rongcloud.im D/[RC:P-reason-C]: {"ptid":"6943-44032","action":"complexconnection","reason":"retsocket:59,totalcost:91"}
2019-08-06 16:37:59.743 6915-6915/cn.rongcloud.im E/RongLog: [ RongExceptionHandler ] uncaughtException
java.lang.RuntimeException: Unable to start receiver cn.rongcloud.im.push.SealNotificationReceiver: android.content.ActivityNotFoundException: No Activity found to handle Intent { dat=rong://cn.rongcloud.im/conversationlist?isFromPush=false flg=0x10000000 pkg=cn.rongcloud.im }
at android.app.ActivityThread.handleReceiver(ActivityThread.java:3523)
at android.app.ActivityThread.access$1400(ActivityThread.java:207)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1759)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6863)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:537)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: android.content.ActivityNotFoundException: No Activity found to handle Intent { dat=rong://cn.rongcloud.im/conversationlist?isFromPush=false flg=0x10000000 pkg=cn.rongcloud.im }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2199)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1860)
at android.app.ContextImpl.startActivity(ContextImpl.java:920)
at android.app.ContextImpl.startActivity(ContextImpl.java:891)
at android.content.ContextWrapper.startActivity(ContextWrapper.java:379)
at android.content.ContextWrapper.startActivity(ContextWrapper.java:379)
at io.rong.push.notification.PushMessageReceiver.handleVoIPNotification(PushMessageReceiver.java:135)
at io.rong.push.notification.PushMessageReceiver.onReceive(PushMessageReceiver.java:42)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:3507)
at android.app.ActivityThread.access$1400(ActivityThread.java:207) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1759) 
at android.os.Handler.dispatchMessage(Handler.java:106) 
at android.os.Looper.loop(Looper.java:193) 
at android.app.ActivityThread.main(ActivityThread.java:6863) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:537) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 
2019-08-06 16:37:59.743 6915-6927/cn.rongcloud.im D/[RC:P-reason-C]: {"ptid":"6943-44032","action":"work","reason":"begin"}
2019-08-06 16:37:59.748 6915-6915/? I/cn.rongcloud.i: System.exit called, status: 2
2019-08-06 16:37:59.748 6915-6915/? I/AndroidRuntime: VM exiting with result code 2, cleanup skipped.

从日志行看是启动会话列表界面时没有找到定义的会话列表界面导致崩溃,目前融云 SDK 的页面界面跳转是通过 uri 形式,比如从 log 反映的 uri 是 rong://cn.rongcloud.im/conversationlist。
由于 SealTalk 2.0 在重构后不再有会话列表导致了此问题,此后会在新的版本中修改此问题。
您可以在 AndroidManifest 中对 .ui.activity.SplashActivity 类加入对 /conversationlis/t 的拦截,可以参考 .ui.activity.ConversationActivity 类对 /conversation/ 的拦截,先回避这个问题。