でワイヤレス接続をアクティブ化するためのドキュメントには、2 番目と 3 番目のパラメーターとして指定して、dbus に適切なデフォルトを選択させるActivateConnection
ことができると書かれています。"/"
Java の関数のバインドは typeDBusInterface
であるため、どのように行うのですか? あなたはほとんど書くこと(DBusInterface)"/"
ができませんよね?
誰かが上記に答えることができれば、私は非常に感謝します. この分野についてもう少し時間や知識がある人にとっては、私が解決しようとしている本当のActivateConnection
問題は、呼び出しがクラッシュすることです。これがクラッシュに至るまでの私のコードです。このインターフェイスを参照します。
var nmIface = (NetworkManagerIface) instance.getRemoteObject(NetworkManagerIface._NM_IFACE, NetworkManagerIface._NM_PATH, NetworkManagerIface.class);
System.out.println("Connect:" + connMatch.getObjectPath());
System.out.println("Adaptor:" + adaptor.getObjectPath());
System.out.println("AccessP:" + accessMatch.getObjectPath());
for (DBusPath devName : nmIface.GetDevices()) {
System.out.println(" Device:" + devName.getPath());
}
nmIface.ActivateConnection(connMatch, adaptor, accessMatch);
そして、この出力を生成します(SOによって挿入された色付け):
Connect:/org/freedesktop/NetworkManager/Settings/4
Adaptor:/org/freedesktop/NetworkManager/Devices/3
AccessP:/org/freedesktop/NetworkManager/AccessPoint/248
Device:/org/freedesktop/NetworkManager/Devices/1
Device:/org/freedesktop/NetworkManager/Devices/2
Device:/org/freedesktop/NetworkManager/Devices/3
Exception in thread "JavaFX Application Thread" org.freedesktop.dbus.exceptions.DBusExecutionException: Failed to construct D-Bus type: Not an object exported or imported by this connection at org.freedesktop.dbus.RemoteInvocationHandler.executeRemoteMethod(RemoteInvocationHandler.java:102)
at org.freedesktop.dbus.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:228)
at com.sun.proxy.$Proxy23.ActivateConnection(Unknown Source)
at com.mycompany.Wifi.activateConnection(Wifi.java:322)
誰かがそれの何が問題なのかについての指針を与えることができれば、私はさらに感謝します.