Her yere baktım ve buna bir cevap bulamıyorum. Bir kullanıcı React Native uygulamasını kapatmaya çalışırken (süreç çalışırken olduğu gibi, uygulamaları el ile yönetir ve çıkıştan çıkmaya zorlarsa) nasıl anlayabilirim. Bu olduğunda çıkış işlevini eklemek istiyorum, ancak bunu algılamanın bir yolunu bulamıyorum. AppState
sadece uygulamanın arka plana ne zaman getirildiğini algıladığında görünür.Bir React Native uygulaması kapalı olduğunda nasıl algılanır (askıya alınmaz)?
cevap
Kullanıcıların uygulamanızı kapatmasını durduramazsınız. Yapabileceğiniz tek şey, uygulamayı kapatmak için (uygulamanızın etkin olmayan durumu) kullanıcıyı yakalamaktır. Bu eylemi yakalamaya ve "Beni kapatma, noooooo!" Mesajını iletmeye çalışabilirsiniz.
Kullanıcının uygulamayı kapatmasını durdurmanın yollarını sormadı. Uygulama yakın etkinliğinin nasıl tespit edileceğini sordu. – Xiaoerge
Önceki durumu algılayabilir ve bir sonraki duruma göre karşılaştırabilirsiniz. Uygulamanın, çevrimiçi bulabildiğim noktadan arka plana yaklaştığını, ancak bunun inactive
(kapalı) olup olmadığını veya background
'da olduğunu algılayabildiğini fark edemezsiniz.
Örnek React Native Docs
import React, {Component} from 'react'
import {AppState, Text} from 'react-native'
class AppStateExample extends Component {
state = {
appState: AppState.currentState
}
componentDidMount() {
AppState.addEventListener('change', this._handleAppStateChange);
}
componentWillUnmount() {
AppState.removeEventListener('change', this._handleAppStateChange);
}
_handleAppStateChange = (nextAppState) => {
if (this.state.appState.match(/inactive|background/) && nextAppState === 'active') {
console.log('App has come to the foreground!')
}
this.setState({appState: nextAppState});
}
render() {
return (
<Text>Current state is: {this.state.appState}</Text>
);
}
}
den çok çözüm bakıldığında. Şimdiye kadar bir şey buldun mu? –