Java 在查看寻呼机加载所有数据之前按后退按钮时应用程序崩溃

Java 在查看寻呼机加载所有数据之前按后退按钮时应用程序崩溃,java,android,android-activity,Java,Android,Android Activity,当我进入我的活动并在数据完全加载之前按下后退按钮时,我遇到了一个严重的问题,我的活动中有一个视图寻呼机,用于加载图像。我的应用程序崩溃,这是我得到的例外: 带活页夹:从活页夹存根捕获运行时异常 实施 位于的java.lang.NullPointerException android.inputmethodservice.IIInputMethodWrapper.setSessionEnabled(IIInputMethodWrapper.java:280) 在 com.android.inter

当我进入我的活动并在数据完全加载之前按下后退按钮时,我遇到了一个严重的问题,我的活动中有一个视图寻呼机,用于加载图像。我的应用程序崩溃,这是我得到的例外:

带活页夹:从活页夹存根捕获运行时异常 实施 位于的java.lang.NullPointerException android.inputmethodservice.IIInputMethodWrapper.setSessionEnabled(IIInputMethodWrapper.java:280) 在 com.android.internal.view.IInputMethod$Stub.onTransact(IInputMethod.java:129) 位于android.os.Binder.execTransact(Binder.java:404) dalvik.system.NativeStart.run(本机方法)

我正在使用广播接收器更新ui,并在
onPause()
中注销接收器

这是我的暂停方法

    @Override
protected void onPause() {
    if (updateUIReciver != null)
        unregisterReceiver(updateUIReciver);
    super.onPause();
}
" 这是我用来下载位图图像的库

        new VigerPDF(this)
                .initFromFile(file, new OnResultListener() {
                    @Override
                    public void resultData(Bitmap bitmap) {
                        bitmaps.add(bitmap);
                        try {
                            Intent intent = new Intent();
                            intent.setAction("refresh");
                            OpenUrlActivity.this.sendBroadcast(intent);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }

                    @Override
                    public void progressData(int i) {
                    }

                    @Override
                    public void failed(Throwable throwable) {
                        throwable.printStackTrace();
                                         }
                });

这次事故似乎与问题中的代码无关。您是否在项目中的某个位置使用绑定服务而忘记在onStop中解除绑定?是的,我有一个加载数据的服务我将更新我的问题可能库VigerPDF有一些取消()或清除()方法来关闭异步工作?我认为它没有任何方法来停止异步任务尝试实现新的viewmodel设计模式并在intentservice中加载数据。从intentservice内部更新livedata,并在活动中实现数据更改的观察者。对于像您这样的案例,这种设计模式完全支持生命周期。
        new VigerPDF(this)
                .initFromFile(file, new OnResultListener() {
                    @Override
                    public void resultData(Bitmap bitmap) {
                        bitmaps.add(bitmap);
                        try {
                            Intent intent = new Intent();
                            intent.setAction("refresh");
                            OpenUrlActivity.this.sendBroadcast(intent);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }

                    @Override
                    public void progressData(int i) {
                    }

                    @Override
                    public void failed(Throwable throwable) {
                        throwable.printStackTrace();
                                         }
                });