Вчера я опубликовал свое первое приложение для Android. Я не тестировал Android 4.0, и мой друг только что сказал мне, что мое приложение вылетает на его Galaxy S2 (4.0.3)
Оно вылетает через несколько секунд в моей активности на заставке, это может быть всего несколько строк кода Вы, ребята, можете проверить это:
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.splashscreen);
try
{
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
overridePendingTransition(0 , 0);
// thread for displaying the SplashScreen
Thread splashTread = new Thread() {
@Override
public void run() {
try {
int waited = 0;
while(_active && (waited < _splashTime)) {
sleep(100);
if(_active) {
waited += 100;
}
}
} catch(InterruptedException e) {
// do nothing
} finally {
// finish();
try
{
/*
Intent i = new Intent();
i.setClass(SplashScreen.this, MainActivity.class);
startActivity(i);
finish();
*/
}
catch(Exception e)
{
ki(e);
}
stop();
}
}
};
splashTread.start();
}
catch(Exception ex)
{
ki(ex);
}
}
@Override
public void onBackPressed() {
return;
}
//Toaster
public void ki(Exception message)
{
Toast myToast = Toast.makeText(getApplicationContext(), message.toString(), 1);
myToast.show();
}
Очень хорошо работает на Android 2.3–3.1, но я не могу понять, в чем проблема с 4.0+
Пожалуйста, помогите, спасибо!
Редактировать:
Если я удалю свою тему, все будет работать хорошо. Итак, мой новый вопрос: что нового в потоках в 4.0? Я только что запустил поток, который ничего не делает, и даже у меня произошел сбой.