Android应用程序崩溃,从不同的线程开始下一个活动

问题描述:

我想处理一些数据库操作,然后想开始一个新的活动。同时,我想要显示进度条。Android应用程序崩溃,从不同的线程开始下一个活动

下面我写的代码在android studio以及某些设备上工作正常,但在某些设备上,从线程开始新活动时,应用程序正在崩溃。请帮帮我。

在此先感谢。

progress=new ProgressDialog(this); 
    progress.setMessage("Prepairing relations..."); 
    progress.setProgress(0); 
    progress.setCancelable(false); 
    progress.show(); 

    final Thread t1 = new Thread() { 
     @Override 
     public void run() { 
      sql.updateRelations(); // db operations 

      Intent intent = new Intent(context, MainActivity.class); 
      progress.dismiss(); 
      startActivity(intent); 
      finish(); 
     } 
    }; 
    t1.start(); 
+7

哪里是你的logcat? –

使用处理器从主线程启动新的活动

Handler handler = new Handler(Looper.getMainLooper()); 

试试这个代码: -

progress=new ProgressDialog(this); 
progress.setMessage("Prepairing relations..."); 
progress.setProgress(0); 
progress.setCancelable(false); 
progress.show(); 

Handler handler = new Handler(); 
handler.postDelayed(new Runnable() { 
    @Override 
    public void run() { 
     sql.updateRelations(); // db operations 
     Intent intent = new Intent(NameActivity.this, MainActivity.class); 
     progress.dismiss(); 
     startActivity(intent); 
     finish(); 
    } 
}, 15000);