2017-07-05 2 views
0

Je souhaite détecter lorsque l'utilisateur appuie sur le bouton d'accueil dans Android et iOS, puis se déconnecter de la session. Y'a-t'il un quelconque moyen d'y arriver? Sur iOS, j'ai essayé d'utiliser l'écouteur Titanium.App.pause et cela fonctionne lorsque j'appuie sur le bouton d'accueil, mais le problème est que cet écouteur est également déclenché lorsque je fais d'autres choses dans l'application, comme l'ouverture de la galerie ou la caméra de l'application ou même en utilisant le centre de contrôle.Appcelerator: Détecter lorsque l'utilisateur appuie sur le bouton d'accueil (iOS et Android)

Sur Android, j'ai essayé une chose similaire. Mais je suis confronté au même problème.

Répondre

1

Il existe une différence subtile entre les listes d'événements de pause et de pause. Interrompu ne détecte que lorsque vous appuyez sur le bouton d'accueil sur l'iPhone pendant que la pause se déclenche toujours lorsqu'il y a des interruptions dans l'application, comme l'affichage d'alerte. Jetez un oeil dans les docs. http://docs.appcelerator.com/platform/latest/#!/api/Titanium.App-event-pause http://docs.appcelerator.com/platform/latest/#!/api/Titanium.App-event-paused

Vous pouvez utiliser tout ce qui dépend de vos besoins. Pour Android, regardez dans ce post qui pourrait être utile pour faire une pause/reprendre Android.

http://www.tidev.io/2014/01/28/paused-resumed-events-on-android/

+0

J'ai utilisé l'écouteur d'événement en pause sur iOS et cela fonctionne très bien, mais le bencoding.android.tools ne fonctionne pas comme prévu sur Android. Lorsque j'essaie d'utiliser l'appareil photo (Ti.Media.showCamera) depuis mon application ou lorsque j'essaie d'ouvrir la galerie (Ti.Media.openPhotoGallery), l'application exécute le code à partir de ce message, elle se déconnecte donc. – guillefix

+0

Donc, vous devez trouver quelque chose d'autre pour qu'il fonctionne correctement pour Android. Peut-être définissez-vous un booléen global pour indiquer si la pause est due à une interruption douce, comme vous le savez toujours lorsque vous ouvrez une caméra ou une galerie, et dans ce cas n'exécutez pas la logique de déconnexion. –

+0

Merci, je vais essayer ça! – guillefix

1

Je pense qu'il n'y a pas d'événement pour détecter le bouton home pressé puis pour utiliser l'événement pasue/resume.

Vous pouvez cependant faire une chose, utilisez la variable globale boollean pour enregistrer si une galerie ou une caméra ou d'autres événements ont été effectués pour mettre l'application en arrière-plan. De cette façon, vous pouvez cliquer sur le bouton de la maison cliqué.

+0

Eh bien ce que je faisais est variable globale qui établit à faux avant d'ouvrir la caméra/galerie, puis le mettre sur true après que l'utilisateur obtient la photo. Mais le problème est maintenant que je ne sais pas comment faire la même chose lors de l'ouverture des fichiers pdf. Mon code ressemble à ceci: Ti.Android.currentActivity.startActivity (Ti.Android.createIntent ({ l'action: Ti.Android.ACTION_VIEW type : 'application/pdf', données: appfilepath })) ; – guillefix

+0

vous pouvez le définir après avoir commencé cette activité –