在我的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