QtMobility承载管理

时间:2010-06-29 07:45:01

标签: qt mobile symbian qt-mobility

我正在创建一个Qt Symbian应用程序,需要连接到互联网。在某种程度上,我需要让用户在应用启动时选择ONCE连接,或者如果启用了则使用DEFAULT连接。

之前我刚刚使用qt_SetDefaultIap()来设置启动时的连接。它工作得很完美,但现在我需要使用QtMobility。当我的应用程序启动时,我在QMainWindow中尝试了以下内容:

QNetworkConfigurationManager manager;

const bool selectIap = (manager.capabilities()& QNetworkConfigurationManager::CanStartAndStopInterfaces);
QNetworkConfiguration defaultIap = manager.defaultConfiguration();

if(!defaultIap.isValid() && (!selectIap && defaultIap.state() != QNetworkConfiguration::Active))
    {
    // let the user know that there is no access point available
    }

session = new QNetworkSession(defaultIap,this);
session->open();

但是必须有一些我缺少的东西,因为应用程序总是要求用户每次使用互联网时都选择连接,而不是我想要的一次。即使我选择了连接,应用程序也要求三次。编辑:它适用于诺基亚5800但不适用于N97。

这对许多人来说似乎是一个问题,因为之前已经讨论过:

http://discussion.forum.nokia.com/forum/showthread.php?196396-how-to-use-QNetworkConfigurationManager-to-handle-access-point

http://discussion.forum.nokia.com/forum/showthread.php?199401-How-to-use-bearer-management-to-select-access-point

http://discussion.forum.nokia.com/forum/showthread.php?199472-How-can-I-set-the-best-one-access-point-as-default

有关如何使其发挥作用的任何想法?

1 个答案:

答案 0 :(得分:0)

如果您的手机设置在(5800)菜单中设置为“始终询问” - >设置 - >目的地 - >选项 - >默认连接,然后QNetworkConfigurationManager.defaultConfiguration()将返回UserChoice配置,该配置将始终弹出查询。

如果你想控制真正使用哪个接入点,那么你可以枚举/列出配置(QNetworkConfigurationManager :: allConfigurations(),选择你想要的那个,然后根据它创建一个QNetworkSession并调用QNetworkSession :: open()。之后如果您实例化并使用例如QNetworkAccessManager来执行Web查询,他们应该“自动”使用该配置。