天天看點

android 自定義 傳回鍵監聽,react-native監聽android實體傳回鍵

1.使用BackAndroid元件來完成對android實體傳回鍵的監聽

如下圖,我們再Home元件中注冊,一旦App進入主程式,就接管實體傳回鍵的監聽,我們仔在Home元件的渲染完成後來監聽,在Home元件解除安裝後移除對傳回鍵的監聽,再onBackAndroid中,我們先檢查navigator的堆棧,如果堆棧中有元件存在,則pop最頂層元件,如果元件為空,則采取在2s内按兩次傳回鍵退出App的政策。

android 自定義 傳回鍵監聽,react-native監聽android實體傳回鍵

2. 某些類自定義傳回鍵操作(即點選傳回鍵彈出一個alert之類的操作)

在所需類的初始化方法裡調用BackAndroidTool.customHandleBack

栗子:

constructor(props) {

super(props);

BackAndroidTool.customHandleBack(this.props.navigator,() => {

Alert.alert('提示','您還未儲存記錄,确定要傳回麼?',

[{text:'取消',onPress:() => {}},

{text:'确定',onPress:() => { this.props.navigator.pop(); }}

]);

// 一定要 return true; 原因上面的參考連結裡有

return true;

});

}

3.某些頁面需要禁用傳回鍵

在nav進行push的時候,設定屬性ignoreBack為true 即可

this.props.navigator.push({

component: 所需要禁用的類,

ignoreBack:true,

});