libgdxのrender()での実行
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
に例外があるため、最初にAndroidアクティビティでBluetooth設定を実行してから、アクティビティを閉じて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;
}
}
クラッシュメッセージは表示されませんが、次のメッセージを追加すると、アプリは黒い画面のままになります(「hello」メッセージは表示されません)。
Intent i = new Intent(this, MyActivity.class);
startActivity(i);
logcatに「E/AndroidRuntime(612):ERROR:threadattachfailed」があります。しかし、私が言ったように、クラッシュメッセージはありません。
ここで何かがおかしい...そのようなコードを正しく書く方法がわかりません。ありがとう。