Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Sphereo同步且我使用多个活动时保持蓝牙连接(适用于android的Sphereo SDK 2.0)_Java_Android_Bluetooth_Sphero Api - Fatal编程技术网

Java 如何在Sphereo同步且我使用多个活动时保持蓝牙连接(适用于android的Sphereo SDK 2.0)

Java 如何在Sphereo同步且我使用多个活动时保持蓝牙连接(适用于android的Sphereo SDK 2.0),java,android,bluetooth,sphero-api,Java,Android,Bluetooth,Sphero Api,几个月来,当我从一个活动转到另一个活动时,我遇到了一个问题,我想一直保持与Sphero的同步。解决方案是通过Intent传递Sphereo的id,并使用下一个代码重新获得它: @Override public void onCreate(Bundle savedInstanceState) { super.OnCreate(savedInstanceState); // get the robot object sent through to this Activity

几个月来,当我从一个活动转到另一个活动时,我遇到了一个问题,我想一直保持与Sphero的同步。解决方案是通过Intent传递Sphereo的id,并使用下一个代码重新获得它:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.OnCreate(savedInstanceState);

    // get the robot object sent through to this Activity
    String robotId = getIntent().getStringExtra("robot.id");
    Robot robot = RobotProvider.getDefaultProvider().findRobot(robotId);
}
我也有同样的问题,因为SphereoSDK已更改为2.0版。

在这个API中,我也做了同样的操作,将robotId从一个活动传递到另一个活动(通过意图),但对于在最新活动中实例化robot,执行下一个代码是无效的:


Robot Robot=RobotProvider.getDefaultProvider().findRobot(robotId);Sphero机器人=(Sphero)机器人


事实上,我已经检查了robotId是否填写了正确的值,这是正确的,但是我在robot中有空值。

为了帮助调试,您可以通过调用
RobotProvider.getDefaultProvider.getRobots()
查询已知机器人列表。另外,在
findRobot(robotId)
之前调用
RobotProvider.getDefaultProvider.startDiscovery()
将清除您的机器人列表。在API Sphereo 2.0中使用RobotProvider.getDefaultProvider.getRobots()时,它将显示为删除线,因此不起作用。但我正在尝试;)看看答案。