2011年10月6日 星期四

android另類結束Activity方法——主動拋出異常





這種方法在網上已經有了部分介紹,但是大部分人不知道怎麼取消Force Close的對話框。「通過重寫Android應用程序的Application基類自己實現 Thread.UncaughtExceptionHandler接口的uncaughtException方法是可以避免出現FC窗口的,用戶感覺直接退出了一樣」。這是網上能找到的說明,這段話讓人看了摸不著頭腦,大部分人不知道怎麼重寫Application基類並實現接口。廢話不多說,直接上代碼! 首先需要在onCreate中添加此句代碼:Thread.setDefaultUncaughtExceptionHandler(new AntrouApp());表明出現異常由自己來處理。 接下來重寫異常處理類 
public class AntrouApp extends Application implements Thread.UncaughtExceptionHandler { 
    @Override 
public void onCreate() { 
// TODO Auto-generated method stub 
super.onCreate(); 
} 
@Override 
    public void uncaughtException(Thread thread, Throwable ex) { 
        android.os.Process.killProcess(android.os.Process.myPid());  
Thread.getDefaultUncaughtExceptionHandler().uncaughtException(thread, ex); 
//若沒有處理,則按照系統自己的處理方式處理 
    } 
} 

此方法會強制結束所有的Activity和service,當然也可以在service裡進行,達到後台強制結束任務的目的。在Activity結束後,系統會回到最近為onpause狀態的Activity。


refer from:
http://www.bangchui.org/simple/?t15896.html

沒有留言:

張貼留言