• 版块
    • 热门
    • 最新
    • 标签
    • 关于
    • 捐赠
    • 注册
    • 登录

    【Lesson5】在qml中检测网络状态变化

    已定时 已固定 已锁定 已移动 教程
    1 帖子 1 发布者 592 浏览
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • BirdZhangB 在线
      BirdZhang 船长
      最后由 BirdZhang 编辑

      代码来自 harbour-sailfinder

      利用qml的dbus接口连接net.connman,获取状态。
      简单的demo如下

      import QtQuick 2.0
      import Sailfish.Silica 1.0
      import Nemo.DBus 2.0
      
      Page{
      
          property bool networkStatus
      
          onNetworkStatusChanged: {
              if(networkStatus == false) {
                  // Network connection failure
                  // Do some thing
              }
          }
      
      
          // from https://github.com/DylanVanAssche/harbour-sailfinder/blob/develop/qml/harbour-sailfinder.qml
          DBusInterface {
              bus: DBus.SystemBus
              service: "net.connman"
              path: "/"
              iface: "net.connman.Manager"
              signalsEnabled: true
              Component.onCompleted: getStatus() // Init
      
              // Methods
              function getStatus() {
                  typedCall("GetProperties", [], function(properties) {
                      if(properties["State"] == "online") {
                          networkStatus = true
                      }
                      else {
                          networkStatus = false
                      }
                  },
                  function(trace) {
                      console.error("Network state couldn't be retrieved: " + trace)
                  })
              }
      
              // Signals
              function propertyChanged(name, value) {
                  if(name == "State") {
                      if(value == "online") {
                          networkStatus = true
                      }
                      else {
                          networkStatus = false
                      }
                  }
              }
          }
          
      }
      

      ———扬帆起航🚢

      1 条回复 最后回复 回复 引用 0
      • 1 / 1
      • 第一个帖子
        最后一个帖子
      Copyright © 2017-2024 旗鱼俱乐部 旗鱼系统交流论坛
      🐟🐠🐡论坛客户端下载🐟🐠🐡
      友情链接 SailfishOS.org | Jolla | 官方论坛 | 移植wiki| 第三方商店 | BirdZhang的博客| Securest
      除非另有声明,本网站采用知识共享“署名 4.0 中国大陆”许可协议授权。
      根据相关法律法规,本站不对欧盟用户提供服务。
      Powered by NodeBB