我正在编写一个与摩托罗拉 EMDK 接口的 Android 应用程序,并且遇到了计时/线程问题。我有一个活动,它添加一个片段以使用 EMDK 执行一个非常特定的功能,显示一个屏幕告诉用户正在发生什么,然后在大约 15 秒后被活动清理。
我注意到在 EMDK 操作发生(在这种情况下设备底座正在解锁)与显示“底座现已解锁”的 GUI 之间存在 1-2 秒的延迟。
我已经对 Android 如何处理在屏幕上绘制片段进行了一些研究,并且我能找到的所有内容都表明 onResume 被称为“当片段变得可见时”。然而,这与我的经验不符。根据我的理解,下面的代码应该可以工作,应该绘制屏幕,然后调用 EMDKManager.getEMDKManager() 方法,该方法构造一个指向 EMDK 服务的指针并创建一个新线程来执行解锁:
@Override
public void onResume() {
super.onResume();
EMDKManager.getEMDKManager(getActivity().getApplicationContext(), this);
}
它看起来更像是仅在 onResume() 完全完成后才绘制屏幕,即 EMDKManager.getEMDKManager() 也完成了它的调用。
由于该片段是该方法的第二个参数所需的 EMDKListener 对象,因此我正在努力寻找一种正确线程的方法。我需要先绘制 GUI,或者在底座解锁的同时绘制。
是否有任何其他方法可以被覆盖或与之交互以获得片段的 onViewDrawn() 事件的等价物?
非常感谢。