2

我正在创建一个 Qt Symbian 应用程序并且需要连接到互联网。在某种程度上,我需要让用户在应用程序启动时选择一次连接,或者在启用时使用默认连接。

在我刚刚使用 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

关于如何使它工作的任何想法?

4

1 回答 1

0

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

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

于 2010-06-30T00:18:53.710 回答