Не используйте "закусочную" здесь, отредактируйте ваш код следующим образом: if (! Image.exists ()) {
final ProgressDialog progressDialog =ProgressDialog.show(this, "","Please Wait...", true);
Thread t = new Thread(new Runnable() {
@Override
public void run() {
FileOutputStream outStream = null;
try {
outStream = new FileOutputStream(image);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, outStream);
outStream.flush();
outStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
runOnUiThread(new Runnable() {
@Override
public void run() {
progressDialog.dismiss();
}
});
}
});
t.start();
try {
t.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
Как я только что узнал, проблема действительно была в том, чтобы иметь другой тестовый проект. Хотя я пытался установить язык интерфейса пользователя на английский в моем реальном проекте, я не делал этого в тестовом проекте, поэтому сообщения об исключениях все еще оставались на немецком языке при просмотре результатов теста.
Установка языка пользовательского интерфейса в методе теста перед тем, как сгенерировано исключение, сделала для меня свое дело.
Вы попытались установить культуру UI на"en
"в web.config
?Более подробная информация.
По-видимому, все сообщения об исключениях платформы связываются с установленным языком ОС. Таким образом, если Вы не устанавливаете английскую версию Windows The, исключения платформы .NET не появятся на английском языке. Даже при том, что кажется странным, что установка CurrentUICulture в "en-США" не помогает, я использовал этот вид взлома обходного решения, чтобы иметь английские сообщения в моем голландском Windows OS.
Вы попытались переключить культуру сразу до чтения текста исключения? Может случиться так, что локализация происходит при доступе к сообщению - в противоположность тому, когда объект исключения создается.