c++ - 网络管理器 dbus 接口调用无线在 raspbian 上不起作用
问题描述
我有以下代码使用 NetworkManager dbus api 检索接入点信息:
//---------------------------------------------------------------------------------
QDBusInterface dbus_iface("org.freedesktop.NetworkManager",
"/org/freedesktop/NetworkManager/Devices/2", // path (might be different in other systems)
"org.freedesktop.NetworkManager.Device.Wireless",
bus);
QDBusMessage query = dbus_iface.call("GetAllAccessPoints");
qDebug() << query;
if(query.type() == QDBusMessage::ReplyMessage) {
QDBusArgument arg = query.arguments().at(0).value<QDBusArgument>();
arg.beginArray();
while(!arg.atEnd()) {
QString element = qdbus_cast<QString>(arg);
netList->append(element);
showAccessPointProperties(element);
}
arg.endArray();
} else {
qDebug() << " dbus error: " << query.errorName();
}
此代码适用于桌面 linux(ubuntu 18.04)。
但是在 raspbian (buster, raspberry pi 3 B/B+) 中这个代码不起作用!问题是这个电话:
dbus_iface.call("GetAllAccessPoints");
返回空回复。
如何在 raspbian 和 ubuntu 中使用 NM dbus 接口有什么不同吗?
解决方案
推荐阅读
- python - 如何使用pysftp检查SFTP中是否存在文件?
- php - 如何防止同时执行多个 REST API?
- android - 没有@Inject 构造函数的命名注释不起作用
- ios - 有没有办法让不同文件中的委托在视图控制器中设置变量?
- architecture - 授权架构
- java - 重新启动 Storm 时再次处理来自 Kafka 的所有预处理记录
- java - Junit - 带有thread.sleep的测试用例不等待线程完成
- python - 如何调用 self 方法并在烧瓶中获取数据?
- kubernetes - 如何在等待 kubelet 将控制平面作为静态 Pod 从目录“/etc/kubernetes/manifests”启动时修复超时
- javascript - JavaScript array.includes 返回 false(比较来自链接数组的用户输入)