我有两个活动A和B.A总是在B和B使用对话框主题之前开始(这是必需且重要的)。两者都使用NFC前台调度机制,它运作良好。但是,当方向改变时,存在问题。我应该在onResume和onPause方法中启用和禁用前台调度。
会发生什么:
- >现在B的前台调度不再起作用了。
B的对话框主题导致了这个问题,因为一切都适用于普通主题。有解决方法吗?
解决方案:
感谢您的评论,但我找到了一个解决方法,这有所帮助。在活动B的onCreate方法中,我执行以下操作:
/*
* This workaround is needed as this activity uses the dialog theme. When the background activity uses the foreground
* dispatch as well, then it breaks this activity's foreground dispatch on an orientation change.
*/
mCancelButton.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
NfcForegroundDispatch.setupForegroundDispatch(NfcDetectorActivity.this);
}
});
正如我所说,这是一种解决方法而非解决方案。