Android 退出多個Activity | 退出程式
這幾天升級我的MyRSS到2.0,遇到一個問題:如何在任意一個Activity中直接退出程式呢?
網上搜到的幾種方法都不能解決問題,最後用下面這種方法算是比較滿意解決了:
步驟:
1、在程式的第一個Activity中加入下列程式碼:
- @Override
- protected void onNewIntent(Intent intent) {
- // TODO Auto-generated method stub
- super.onNewIntent(intent);
- if ((Intent.FLAG_ACTIVITY_CLEAR_TOP & intent.getFlags()) != 0) {
- finish();
- }
- }
2、在AndroidManifest.xml中偉第一個Activity新增以下設定:
android:launchMode="singleTop"
如:
- <activity android:name=".RSSMainActivity"
- android:label="@string/app_name"
- android:launchMode="singleTop">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
3、在其他Activity中響應退出事件的程式碼加入以下程式碼:
- Intent intent = new Intent();
- intent.setClass(this, RSSMainActivity.class);
- intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- startActivity(intent);
- finish();
總結:其實就是利用activity的堆疊,跳到第一activity再退出程式~~簡單明瞭!
上面所描述的方法其實是存在問題的,經過測試,onNewIntent有時候並不會被掉用到,有關onNewIntent可以參考另一篇文章:
http://blog.csdn.net/linshutao/article/details/6820759,
總之,為了保險,需要在onCreate裡也做相應的處理!
- if ((Intent.FLAG_ACTIVITY_CLEAR_TOP & intent.getFlags()) != 0) {
- finish();
相關文章
- Android-返回桌面?退出程式?Android
- Linux終端退出後導致nohup程式退出Linux
- python怎麼退出程式Python
- 獲取 NodeJS 程式退出碼NodeJS
- git log 退出Git
- nodejs程式異常退出處理方法NodeJS
- 如何一鍵退出所有應用程式?
- QuitAll for Mac(應用程式一鍵退出)UIMac
- 一個Activity顯示多個Activity
- scala怎麼退出
- 怎麼退出社群
- Flask——登入、退出Flask
- MacBook如何退出AppleID?MacAPP
- centeros如何退出vim?ROS
- python如何退出helpPython
- 【轉】C# 中 強制退出WinForm程式C#ORM
- Mac快速退出應用程式工具:Quit AllMacUI
- Auth Session 退出他人正登入的賬號、passport 退出登入SessionPassport
- win10強制退出鍵是什麼 window10強制退出快捷鍵是哪個Win10
- cmd中如何退出PythonPython
- 儲存並退出 crontab
- MySQL退出命令列模式MySql命令列模式
- Python的for迴圈退出Python
- docker run 總是退出Docker
- 終端如何退出pythonPython
- python命令列如何退出Python命令列
- 教你如何強制退出Mac無響應程式Mac
- springboot 程序已結束,退出程式碼為 0Spring Boot
- 多執行緒執行任務時,某個執行緒拋異常,如何讓程式立即退出執行緒
- Android Handler機制之迴圈訊息佇列的退出Android佇列
- [Android]關閉所有Activity,開啟某個ActivityAndroid
- [BUG反饋]php-cgi.exe - FastCGI 程式意外退出PHPAST
- Spring Security系列之退出(十三)Spring
- QPainter呼叫setBrush異常退出AI
- Golang優化-優雅退出Golang優化
- android 再按一次退出應用 出現閃屏 重啟Android
- 如何在macOS Monterey中強制退出未響應程式?Mac
- 執行緒中的幾個退出相關函式執行緒函式
- 該使用者已退出掘金