[英]Android: force a thread to close and display an alert dialog
我有一個線程在其中捕獲異常。 我想要的是,當發生這種情況時,線程關閉/退出/死亡或我應該說的任何內容,並顯示一個警報對話框(不像敬酒!)。
這是我的代碼:
t1 = new Thread(new Runnable()
{
public void run()
{
Looper.prepare();
StringBuffer stringBuffer = new StringBuffer("");
BufferedReader bufferedReader = null;
URI uri = null;
try
{
requestAndMakeSheet(stringBuffer, bufferedReader, uri);
}
catch (Exception e)
{
//Toast.makeText(getBaseContext(), "Web Request Error", Toast.LENGTH_LONG).show();
//Log.e("Web Request Error", e.getMessage());
t1.interrupt();
AlertDialog.Builder parsingErrorBox = new AlertDialog.Builder(ReservationInfo.this);
parsingErrorBox.setTitle("Login error");
parsingErrorBox.setMessage("You may have to check your credentials and then try again.");
parsingErrorBox.show();
}
finally
{
if (bufferedReader!=null)
{
try
{
bufferedReader.close();
}
catch (IOException ioe)
{
Log.e("Web Request Error", ioe.getMessage());
}
}
}
}
});
t1.start();
try
{
t1.join();
mWebview.loadUrl("file:///"+Environment.getExternalStorageDirectory()+"/MySheet.html");
setContentView(mWebview);
}
catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
//End of le thread
}
這段代碼崩潰了,我認為它與t1.interrupt有關(嘗試停止,但也沒有用)。
如何解決此代碼? 先感謝您。
為什么仍然有t1.interrupt()? 似乎您的線程將被終止,所以將其放置在那里的原因是什么?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.