关于如何在主进程绑定的UncaughtExceptionHandler.uncaughtException中显示弹出框: final AlertDialog.Builder builder = new AlertDialog.Builder(context); new Thread() { @Override public void run() { Looper.prepare(); builder.setTitle("sorry..."); builder.setMessage("Unfortunately, the app doesn't work, please try and restart it"); builder.setPositiveButton("exit", new DialogInterface.OnClickListener() {
@Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub
final AlertDialog.Builder builder = new AlertDialog.Builder(context);
new Thread()
{
@Override
public void run()
{
Looper.prepare();
builder.setTitle("sorry...");
builder.setMessage("Unfortunately, the app doesn't work, please try and restart it");
builder.setPositiveButton("exit", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
//结束活动
if(null != mainActivity)
{
mainActivity.finish();
}
//退出vm
System.exit(0);
}
});
builder.show();
Looper.loop();
}
}.start();
需要新启动一个线程并且使用Looper,否则会出现卡死现象,,,,至于为什么,新上上路,没去细究,,,,
http://blog.csdn.net/yanzi1225627/article/details/8583066,上面说明了原因,和解决办法。倒是我跟着尝试了那个方法,似乎也还是不能解决问题。于是乎,既然设置为软件加速不能解决问题,那就尝试了下禁用掉硬件加速,结果神奇般的解决了问题,,,禁用整个app的硬件加速,在Manifest.xml,application中加入android:hardwareAccelerated="false";