在我的Android應用程序中,我需要管理自定義Activity類中的所有未捕獲異常。現在我有一個問題,我無法從裏面啓動一個活動。即使活動未啓動,也沒有例外。如何從未捕獲的異常處理程序中啓動新的活動
public class MyActivity extends Activity {
Context context;
Throwable throwable;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
context=getApplicationContext();
final AlertDialog.Builder builder= new AlertDialog.Builder(this);
Thread.currentThread().setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable ex) {
throwable=ex;
new Thread(){
@Override
public void run() {
Looper.prepare();
builder.setTitle("Warning...!");
builder.create();
builder.setNegativeButton("Close", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
builder.setPositiveButton("More Details", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent= new Intent(MyActivity.this,Report.class);
intent.putExtra("error", throwable);
startActivity(intent);
}
});
builder.setMessage(throwable.getMessage());
builder.show();
Looper.loop();
}
}.start();
}
});
}
}
mgr.set(AlarmManager.RTC,System.currentTimeMillis()+ 2000,intent);這裏有什麼意圖 – smkrn110 2015-10-30 15:11:05
你能解釋一下這個例子多一點嗎? system.exit(2)下面的行如何被調用? – Harmen 2016-02-09 11:58:56