Поскольку у меня есть исключение, запускающее mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
в libgdx render(), у меня есть идея сначала запустить настройки Bluetooth в активности Android, а затем закрыть активность и инициализировать libgdx.
Следующий код дает сбой:
public class MyActivity extends AndroidApplication {
public void onCreate (android.os.Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
Intent myIntent = new Intent(MyActivity.this, StartActivity.class);
startActivity(myIntent);
initialize(new MyGame(), false); //run libgdx
}
}
StartActivity выглядит следующим образом (позже это будет название игры и настройки bluetooth):
public class StartActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView text = new TextView(this);
text.setText("Hello World, Android");
setContentView(text);
try {
Thread.sleep(7000);
}
catch (InterruptedException e) {};
finish();
return;
}
}
Нет сообщения о сбое, но приложение остается с черным экраном (даже без сообщения «привет»), если я добавлю следующее:
Intent i = new Intent(this, MyActivity.class);
startActivity(i);
В logcat есть «E/AndroidRuntime (612): ОШИБКА: сбой присоединения потока». Но, как я уже сказал, нет сообщения о сбое.
Что-то здесь не так... Я не знаю, как правильно написать такой код. Спасибо.