我试图让应用程序在退出应用程序时关闭串行端口,并强制重新加载应用程序,以便当用户再次打开应用程序时,他们能够访问串行端口。
这是我的代码:
chrome.app.window.onClosed.addListener(function() {
chrome.serial.close(connectionId, onClose);
chrome.runtime.reload();
});
它似乎没有重新加载应用程序。如果我在应用程序启动后实际调用 chrome.runtime.reload() ,则一切正常。否则,当尝试打开串行连接时,它会挂起。
谢谢!
onClose 在应用程序关闭时被调用。您正在做的是尝试在应用程序关闭时启动应用程序,从而有效地防止应用程序实际关闭。
您是否从后台页面注册您的 onClosed 处理程序?看起来 chrome.serial.close 是异步的,因此从当前正在关闭的窗口运行它可能存在问题。
您可以尝试设置一个条件,仅在某些特定情况下关闭链接。