gpt4 book ai didi

android - 我可以在运行 libgdx 之前运行一个 Activity 吗?

转载 作者:行者123 更新时间:2023-11-29 22:03:04 26 4
gpt4 key购买 nike

因为我有异常运行mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();在 libgdx 的 render() 中,我有一个想法首先在 Android Activity 中运行蓝牙设置然后关闭 Activity 并初始化 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如下(后面是游戏名称和蓝牙设置):

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): ERROR: thread attach failed”。但正如我所说,没有崩溃消息。

这里有点问题...我不知道如何正确编写这样的代码。谢谢。

最佳答案

是的,您可以在运行 libgdx 之前启动一个 Activity 。不要先启动 libgdx 的东西。启动蓝牙设置,然后调用 Intent 以在准备就绪时启动实际游戏。

像这样:

public class BluetoothActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.bluetoothsettings);
Button startGame = (Button)findViewById(R.id.btnStartGame);

// handle set start click
startGame.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(BluetoothActivity.this, GameActivity.class);
BluetoothActivity.this.startActivity(intent);
}
});
}
}

那么您的游戏 Activity 就可以像上面那样扩展 AndroidApplication 的正常 Activity 。

当然,请确保您的 AndroidManifest.xml 首先启动 BluetoothActivity,而不是 libgdx。

<activity android:name=".BluetoothActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

关于android - 我可以在运行 libgdx 之前运行一个 Activity 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11474766/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com