Snap 应用程序是否有办法检查自己的权限?
我开发了一个应用程序,需要原始 USB在微控制器上刷新固件的权限。如果没有它,应用程序将无法工作,我想通过弹出窗口通知用户他们必须添加权限。有没有办法让应用程序明确检查已授予哪些权限?我在 snap 应用程序的 meta 文件夹中没有找到任何信息。
为了密码管理服务权限我目前通过密码库抛出的错误来检查它。
答案1
乐于助人的人们论坛.snapcraft.io给了我答案:
snapctl is-connected raw-usb
为了快速测试它,请运行以下命令从正在运行的应用程序的视图打开终端。
snap run --shell <snap-name>
例如,如果你正在编写 Python 应用程序,请使用
import subprocess
result = subprocess.run(["snapctl", "is-connected", "raw-usb"])
if result.returncode == 1:
print("raw-usb not connected")