我有一个内置WebView的片段。我添加了一个具有此方法的自定义WebAppInterface
@JavascriptInterface
public void submitCorrect() {
Log.d("SUBMIT", "submit");
getActivity().onBackPressed();
//getActivity().getFragmentManager().popBackStack();
}
调试我看到该方法被调用但是,我不知道为什么,onBackPressed或popBackStack都没有工作。 有什么建议吗?
答案 0 :(得分:1)
也许完成活动会起作用:
//routes.tsx
const auth = new AuthService();
export default <Route component={ Layout }>
<Route path='/login' components={{body:Login}}
</Route>;
//layout.tsx
export interface LayoutProps {
body: React.ReactElement<any>
}
答案 1 :(得分:1)
问题是,在WebView Thread上调用onBackPressed方法,你应该在主线程中调用它。这就是它无法正常工作的原因。
尝试按以下方式更改代码:
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
getActivity().onBackPressed();
}
});