最後に答えが得られました!
C++では、libnm-glibを使用してdbusプロキシで動作させます。コマンドラインから使用します。
gdbus call --system --dest org.freedesktop.ModemManager --object-path /org/freedesktop/ModemManager/Modems/0 --method org.freedesktop.ModemManager.Modem.Gsm.Network.GetSignalQuality
は、gsmモデムの信号強度を示します。
MMが接続中に信号品質を得ることができないとすれば、 すべてのコマンドとデータに対して1つのATポートしかないからです。したがって、ATポート が接続されている場合は、ATコマンドを送信して信号品質を収集することはできません。 より多くのATポートを持つより良いモデムを入手するか、 をQMIまたはMBIMで動くような非ATモデムに切り替える必要があります。 - アレクサンダーモルガド
一つは
gdbus monitor --system --dest org.freedesktop.NetworkManager --object-path /org/freedesktop/NetworkManager/Modems/0
Q.が信号強度の変化がasynchonouslyあるかModemManagerポーリングは、信号品質を得るために、定期的にモデム毎回プロキシ信号をいを使用してorg.freedesktop.ModemManager.Modem.Gsm.Network.GetSignalQuality
信号を聞くことができます?
A.使用されているモデムによって異なります。モデムが迷惑な 品質変更表示をサポートしている場合は、それらを使用します。それ以外の場合は、MMはすべての信号品質値に対して 30sをポーリングします。インターフェイスのプロパティ値は、新しい値を取得すると更新されます(多かれ少なかれ) になります。 - アレクサンダーモルガド
私のデバイスは3gモデムです。 'iwlist ppp0 scanning'を使用できますか?私は試してみる。 – neckTwi
動作しますか?私は同じことをするためにC + +ライブラリを探していたが、私はできなかった。私はAndroidで見つけた。そして、この方法でBash + C++は私の問題を効率的に解決しました。それもあなたのために動作することを願っています。 – Tlos
まだ私はそれを試していない。私はこの[リンク](http://arachnoid.com/linux/linux_mobile_internet_access.html)に従っています。それもあなたを助けるかもしれません。 – neckTwi