Android:如何将蓝牙连接传递给另一个活动?

ric*_*ard 4 java android netbeans bluetooth

我有我的第一个活动,其中建立了BT连接.有一个选项呈现给用户,并根据他们的选择,加载不同的活动.

问题是,这两个活动都需要BT连接,而我没有看到破坏一个连接只是为了制造另一个连接.

有没有办法可以传递活动之间的联系?

有没有人为我或某个链接提供一些例子?

我试过" class MyApplication extends Application",但后来我不能用:

super.onCreate(savedInstanceState);
setContentView(R.layout.blablabla);
Run Code Online (Sandbox Code Playgroud)

这可能是一个非常愚蠢的问题,但我只是在Android + - 2周.

kib*_*yte 5

您是否尝试使用Application对象将蓝牙连接存储在对象中并使用您的活动来获取它?

尝试这样的事情.(注意:我从未使用过Android上的蓝牙,因此我不知道要使用哪些相关类.在这种情况下,我会使用BluetoothDevice,因为它似乎是基于库文档的正确类)

public class MyApplication extends Application {
    BluetoothDevice device;
    ...
    public synchronized BluetoothDevice getBtConnection() {
        if (device == null) {
            // construct a BluetoothDevice object and put it into variable device
        }
        return device;
    }
}
Run Code Online (Sandbox Code Playgroud)

这样,你的第一个活动必须这样做:

public class FirstActivity extends Activity {
    private BluetoothDevice device;
    ...
    @Override
    protected void onCreate(Bundle b) {
        super(b);
        ...
        device = ((MyApplication) getApplication()).getBtDevice();
        ...
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

然后,只要你的其他活动需要使用该连接,他们只需要调用getBtDevice(),因为FirstActivity已经实例化了它.