編輯:關於Android編程
關閉當前Android最常用的是finish(),如果正常編寫的話,一般不會出現問題。但也有非常規的時候需要關閉當前應用。
在2.2以前,也就是API-8以前,用這個方法關閉程序:
ActivityManager manager = (ActivityManager)getSystemService(ACTIVITY_SERVICE);
manager.restartPackage(getPackageName());(名字真唬人,為什麼叫restart呢?!-_-#)
需要聲明權限<uses-permission android:name="android.permission.RESTART_PACKAGES"/>
這種方法會終止一切和這個程序包關聯的,所有共享同一uid的process被kill,所有的activity會被removed
所有創建的服務會停止,還會發一個廣播 Intent.ACTION_PACKAGE_RESTARTED 導致所有注冊alarms 被stopped, notifications 被removed。
在2.2以後,我們就要用新的方法:
ActivityManager manager = (ActivityManager)getSystemService(ACTIVITY_SERVICE);
manager.killBackgroundProcesses(getPackageName());
需要聲明權限<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>
這個和上面的效果一樣的。
所以,接下來,我就寫一個完整的關閉方法,供大家使用:
[java]
/**
* 完全退出程序,需要增加權限!
* <uses-permission android:name="android.permission.RESTART_PACKAGES"/>
* <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>
*/
protected void exitProgram() {
finish();
ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
int sdk = Integer.valueOf(Build.VERSION.SDK).intValue();
if (sdk < 8) {
activityManager.restartPackage(getPackageName());
} else {
activityManager.killBackgroundProcesses(getPackageName());
}
System.exit(0);
}
前言RxJava 在 GitHub 主頁上的自我介紹是 a library for composing asynchronous and event-based prog
CollapsingToolbarLayout作用是提供了一個可以折疊的Toolbar,它繼承至FrameLayout,給它設置layout_scrollFlags,它可
沒睡著覺,起來更篇文章吧哈哈!首先祝賀李宗偉擊敗我丹,雖然我是支持我丹的,但是他也不容易哈哈,值得尊敬的人!切入正題:這一篇來介紹個自定義廣播接收者。通常我們在外撥電話的
最近無意中和同事交流數據安全傳輸的問題,想起自己曾經使用過的Rsa非對稱加密算法,閒下來總結一下。什麼是Rsa加密?RSA算法是最流行的公鑰密碼算法,使用長度可以變化的密