Android 为什么GPIO关闭后仍在使用?

Android 为什么GPIO关闭后仍在使用?,android,iot,android-things,Android,Iot,Android Things,我在GPIO关闭后遇到问题。第一步,我通过调用close()方法关闭了GPIO,之后,我尝试再次打开它,但PeripheralManager抛出异常android.os.ServiceSpecificException:BCM17已在使用中(代码16)。为什么会发生这种情况 代码片段,例如: Gpio Gpio=peripheraldmanager.getInstance().openGpio(“BCM17”); . . //与打开的GPIO进行一些交互 . . gpio.close(); Gp

我在GPIO关闭后遇到问题。第一步,我通过调用close()方法关闭了GPIO,之后,我尝试再次打开它,但PeripheralManager抛出异常android.os.ServiceSpecificException:BCM17已在使用中(代码16)。为什么会发生这种情况

代码片段,例如:

Gpio Gpio=peripheraldmanager.getInstance().openGpio(“BCM17”);
.
.
//与打开的GPIO进行一些交互
.
.
gpio.close();
Gpio gpio1=peripheraldmanager.getInstance().openGpio(“BCM17”)//抛出异常android.os.ServiceSpecificException:BCM17已在使用中(代码16)

如果没有源代码,很难帮助您。@AndriiOmelchenko我已经添加了代码snippet@Eugene这意味着它仍然在这里工作是一个链接,它可能会有帮助[在出现此错误后,您是否可以尝试重置rasperry并再次查看ıt是否出现相同的错误以检查是否有任何应用程序可以使用这些端口为什么需要关闭并重新打开gpio?为什么不使用一旦打开的gpio并仅在
onDestroy()中关闭它
?@AndriiOmelchenko我的主要想法是动态地更改设备配置。我认为方法
Gpio#close()
可以释放Gpio端口,并且可以在同一应用程序的范围内使用它,而无需重新加载设备/应用程序。因为没有清楚地描述方法
close()
“必须调用此命令才能释放GPIO pin并使其可供其他用户使用。”,它是什么意思“可供其他用户使用”,是可供其他应用程序使用还是可供运行应用程序范围内使用?