English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
L'article suivant décrit la méthode de simulation de la fonction du bouton HOME en programmation Android. Partageons-le avec tous pour la référence, voici les détails :
Faire une méthode similaire à celle de QQ en appuyant sur le bouton Retour sans supprimer l'Activity (c'est-à-dire sans appeler Activity.finish(), ni appeler onDestroy), mais similaire à appuyer sur le bouton Home, pour que l'Activity ressemble à une «pause» (c'est-à-dire appeler uniquement onPause, onDestroy).
Le code est le suivant :
public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK){ Intent intent = new Intent(Intent.ACTION_MAIN); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);// Attention intent.addCategory(Intent.CATEGORY_HOME); this.startActivity(intent); return true; } return super.onKeyDown(keyCode, event); }
Attention spéciale :intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); Cette instruction doit absolument être ajoutée, car le mode de lancement par défaut de l'Activity est en mode standard. Si ce marqueur n'est pas ajouté, une nouvelle Activity sera créée et placée dans le même Task que l'Activity actuelle. Voici l'explication de FLAG_ACTIVITY_NEW_TASK: le marqueur FLAG_ACTIVITY_NEW_TASK
当传递给startActivity()的Intent对象包含FLAG_ACTIVITY_NEW_TASK标记时,系统会为需要启动的 activity寻找与当前activity不同的task。如果要启动的activity的affinity属性与当前所有的task的 affinity属性都不相同,系统会新建一个带那个affinity属性的task,并将要启动的activity压到新建的task栈中;否则将 activity压入那个affinity属性相同的栈中。
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》
J'espère que ce tutoriel vous aidera dans la conception de programmes Android.
Déclaration : le contenu de cet article est issu du réseau, propriété des auteurs respectifs, partagé par les utilisateurs d'Internet et téléversé spontanément. Le site Web ne détient pas de droits de propriété, n'a pas été édité par l'homme, et n'assume aucune responsabilité juridique connexe. Si vous trouvez du contenu présumé enfreignant les droits d'auteur, vous êtes invité à envoyer un e-mail à : notice#oldtoolbag.com (veuillez remplacer # par @ lors de l'envoi d'un e-mail pour signaler une violation, et fournir des preuves pertinentes. Une fois vérifié, le site supprimera immédiatement le contenu présumé enfreignant les droits d'auteur.)