地图盒子(MapBox) SDK恢复后出现黑屏问题

3
我在我的Android应用程序中使用MapBox SDK,地图onCreate的显示很完美。我可以添加图层并显示标记等操作。
当用户单击标记时,会启动另一个活动。因此,在我的onPause()方法中使用mapView.onPause()。
问题出现在用户尝试返回地图活动时,我使用finish()方法实现,一旦在地图活动中,黑屏取代了地图和标记,用户无法再看到地图和标记。
我发现当我锁定手机并返回应用程序时,问题也出现了。
有什么想法解决这个问题吗?
感谢您!

1
检查Logcat中的错误。 - just
你是否调用了所有必需的生命周期方法?以下是列表: mapView.onCreate(savedInstanceState); mapView.onStart(); mapView.onResume(); mapView.onPause(); mapView.onStop(); mapView.onLowMemory(); mapView.onDestroy(); mapView.onSaveInstanceState(outState); - Łukasz Paczos
是的,我是,但似乎什么都不起作用。 - Abderrahmane Kaci Aissa
我查看了MapBox的onResume以了解它的作用,发现它调用了mapRenderer.onResume()方法,但是该方法未被实现 :/ - Abderrahmane Kaci Aissa
1个回答

5

我忘记在我的活动中重写onStart()方法。

后来我添加了这个方法,问题就解决了。

编辑:

链接到Mapbox生命周期方法。

添加了onStart()的代码片段:

    @Override
    public void onStart() {
        super.onStart();
        mapView.onStart();
    }

我已经在我的片段中添加了这个,但它没有工作。在logcat中,它捕获了一个异常java.lang.Exception:最后位置不可用。 - Abraham Mathew
尝试打开Google地图并定位自己,然后使用您的应用程序重试。 - Abderrahmane Kaci Aissa
当我们使用地图应用程序时,通常会保存上一个位置。 - Abderrahmane Kaci Aissa
为什么会这样?在一些设备上没问题,但在其他一些设备上就不行了。我们该如何处理这种情况? - Abraham Mathew
其实,我认为你并不是在寻找当前位置或者你的设备无法找到当前位置,可能是你的GPS关闭了或者你没有GPS信号,所以它会尝试恢复存储在你的设备中的上一个位置。由于你没有任何上一个位置(特别是当你使用虚拟设备进行测试时),应用程序找不到参考位置。 - Abderrahmane Kaci Aissa
我正在真实设备上运行。是的,在我的情况下,GPS已禁用。 - Abraham Mathew

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接