我正在创建一个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。
这对许多人来说似乎是一个问题,因为之前已经讨论过:
有关如何使其发挥作用的任何想法?
答案 0 :(得分:0)
如果您的手机设置在(5800)菜单中设置为“始终询问” - >设置 - >目的地 - >选项 - >默认连接,然后QNetworkConfigurationManager.defaultConfiguration()将返回UserChoice配置,该配置将始终弹出查询。
如果你想控制真正使用哪个接入点,那么你可以枚举/列出配置(QNetworkConfigurationManager :: allConfigurations(),选择你想要的那个,然后根据它创建一个QNetworkSession并调用QNetworkSession :: open()。之后如果您实例化并使用例如QNetworkAccessManager来执行Web查询,他们应该“自动”使用该配置。