This is an automated email from the ASF dual-hosted git repository.

luckychen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-weex.git


The following commit(s) were added to refs/heads/master by this push:
     new 7543ea7  [Android] Fix crash in receiver. (#2840)
7543ea7 is described below

commit 7543ea757508c310bc9c5ebdcda6cdda1487a83e
Author: YorkShen <[email protected]>
AuthorDate: Wed Sep 4 15:33:12 2019 +0800

    [Android] Fix crash in receiver. (#2840)
    
    ```
    java.lang.IllegalArgumentException: Receiver not registered: 
com.taobao.weex.WXGlobalEventReceiver@df9ef3f
        at android.app.LoadedApk.forgetReceiverDispatcher(LoadedApk.java:1095)
        at android.app.ContextImpl.unregisterReceiver(ContextImpl.java:1500)
        at 
android.content.ContextWrapper.unregisterReceiver(ContextWrapper.java:608)
        at com.taobao.weex.WXSDKInstance.destroy(WXSDKInstance.java:1832)
        at 
com.taobao.weex.WXSDKInstance.onActivityDestroy(WXSDKInstance.java:1457)
    ```
---
 android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java 
b/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
index bb28309..b8beb51 100644
--- a/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
+++ b/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
@@ -1837,10 +1837,15 @@ public class WXSDKInstance implements 
IWXActivityStateListener,View.OnLayoutChan
         WXSDKManager.getInstance().destroyInstance(mInstanceId);
       }
 
-      if (mGlobalEventReceiver != null) {
-        getContext().unregisterReceiver(mGlobalEventReceiver);
-        mGlobalEventReceiver = null;
+      try {
+        if (mGlobalEventReceiver != null) {
+          getContext().unregisterReceiver(mGlobalEventReceiver);
+          mGlobalEventReceiver = null;
+        }
+      }catch (IllegalArgumentException e){
+        WXLogUtils.w(WXLogUtils.getStackTrace(e));
       }
+
       if (mRootComp != null) {
         mRootComp.destroy();
         mRootComp = null;

Reply via email to