我有一个应用程序(完全是Webview),我正在尝试处理Android硬件按钮,例如从第二页返回到第一页。我现在的问题是该按钮不再关闭应用程序,我不知道该怎么办。这是我的代码:
export default class App extends Component {
constructor(props) {
super(props)
this.state={
};
this.handleBackButtonClick = this.handleBackButtonClick.bind(this);
}
componentWillMount() {
BackHandler.addEventListener('hardwareBackPress',this.handleBackButtonClick);
}
componentWillUnmount() { BackHandler.removeEventListener('hardwareBackPress',this.handleBackButtonClick);
}
onNavigationStateChange(navState){
console.log(JSON.stringify(navState));
canGoBack = navState.url == initialUrl && !navState.loading
}
handleBackButtonClick() {
this.refs[WEBVIEW_REF].goBack();
return true;
}
答案 0 :(得分:0)
handleBackButtonClick
的返回值决定了应用是否继续运行。
目前,您总是返回true
。相反,您可以检查当前导航状态是否要关闭应用程序,并相应地返回false
。
handleBackButtonClick() {
const canGoBack = someCalculation();
if(canGoBack)
this.refs[WEBVIEW_REF].goBack();
}
return canGoBack;
}