編輯:Android開發教程
如果退出當前運行的Activity,可以使用 this.finish() 或者 System.exit(0) 。
如果退出整個 程序,如下操作:
方式一:
Intent intent=new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); this.startActivity(intent); System.exit(0);
方式二:
android.os.Process.killProcess (android.os.Process.myPid());
android 完全退出 程序
有幾個activity,有一需求是在一個activityA點擊back鍵退出系統而不是跳到之前的 activity
首先想到的是清空activityA的堆棧,使用intent.setFlags (Intent.FLAG_ACTIVITY_CLEAR_TOP); 但是該activityA不是已經存在於堆棧底端的,所以清除的只是堆棧中 該activityA上面的activity,但後退後還是會返回堆棧中該activityA下面的activity。
然後想到的 是截獲back按鍵的事件,使用System.exit(0)和android.os.Process.killProcess (android.os.Process.myPid())來退出程序,還是不行,當前的activityA是被干掉了,但是還是會被 ActivityManager接管返回到前一個activity。而且如果之前activity需要一些傳過來的參數的話會導致程序 連續拋異常。
最後終於找到一個可行的方法:使用ActivityManager徹底退出程序
ActivityManager manager = (ActivityManager)getSystemService(ACTIVITY_SERVICE);
manager.restartPackage(getPackageName());
需要聲明權限<uses-permission android:name="android.permission.RESTART_PACKAGES"/>
這種方法會終止一切和這個 程序包關聯的,所有共享同一uid的process被kill,所有的activity會被removed
所有創建的服務會停 止,還會發一個廣播 Intent.ACTION_PACKAGE_RESTARTED 導致所有注冊alarms被stopped, notifications 被 removed。
前言定位服務是移動設備上最常用的功能之一,下文以 Android 源碼為基礎,詳細分析了 Android 系統中定 位服務的架構和實現。定位服務是 Android 系統提
其實實現ListView過濾功能最方便的便是使用ArrayAdapter,裡面自帶的 getFilter()方法能很方便的實現此功能,但是在實際的開發中,一般都是繼承於
1.背景即將結束在sony移動的實習了,在最後的日子有一些傷感有一些感觸,對於android這個傾注一年心血的技術有太多話要說。感謝sony移動的各位大牛們給我這個機會,
ActivityInstrumentationTestCase2 用來測試單個的Activity,被測試的Activity可以使用InstrumentationTestC