어플리케이션 전체 종료

1750 단어 응용 프로그램
전언
안드로이드 프로그램의 완전 종료는 좀 번거롭습니다. 시스템이 완전히 종료된api를 제공하지 않았습니다.
단일 Activity 프로그램 종료
Android 시스템에서는 다음과 같이 단일 Activity 응용 프로그램을 종료할 수 있습니다.
  
Process.killProcess(Process.myPid());  

System.exit(0);

 
다중 Activity 프로그램 종료
지난 소절에서 한 개의Activity를 탈퇴하는 방식을 언급했지만 실제 개발에서 한 개의Activity 응용 프로그램이 드물고 여러 개의Activity 응용 프로그램이 완전히 탈퇴하면 바로 탈퇴할 수 없다. 아래의 방식은 각각 열려있는Activity를 기록한 다음에 각각의Activity finish를 삭제함으로써 간접적으로 완전히 탈퇴하는 기능을 실현했다.구체적인 코드는 다음과 같다.
  
package com.luoaz.founsys.util;



import android.app.Activity;

import java.util.LinkedList; 

import java.util.List; 



public class SysApplication extends Activity {

	//       Activity

	private List<Activity> mList = new LinkedList(); 

	private static SysApplication instance; 



	private SysApplication() {   

	}

	//  

	public synchronized static SysApplication getInstance() { 

		if (null == instance) { 

			instance = new SysApplication(); 

		} 

		return instance; 

	} 

	//    Activity  

	public void addActivity(Activity activity) { 

		mList.add(activity); 

	} 



	/**

	 *          Activity

	 * */

	public void exit() { 

		try { 

			for (Activity activity : mList) { 

				if (activity != null) 

					activity.finish(); 

			} 

		} catch (Exception e) { 

			e.printStackTrace(); 

		} finally { 

			System.exit(0); 

		} 

	} 

}


 
후기
안드로이드가 프로그램을 직접 종료하는api를 제공하지 않았기 때문에 다른 방식으로만 이 기능을 변형시킬 수 있습니다. 상술한 것은 이 기능을 실현하는 방식이지만 유일한 방식은 아닙니다.
주소: http://www.cnblogs.com/luoaz/p/3936199.html

좋은 웹페이지 즐겨찾기