【问题标题】:How to detect available APN settings?如何检测可用的 APN 设置?
【发布时间】:2009-09-18 11:26:56
【问题描述】:

我需要以某种方式访问​​我的 BlackBerry 应用程序中的 APN 设置。我的应用程序在 JDE 4.2.1 上运行。有什么帮助吗?

【问题讨论】:

标签: networking blackberry apn rim-4.2


【解决方案1】:

有一个名为ServiceRecord 的类可以为您解决这个问题。这是一个简短的 sn-p。

ServiceRecord record = ServiceBook.getSB().getRecordByUidAndCid(uid, cid);
String apn = record.getAPN();

uidcid 取决于您尝试使用的服务(即 wap、wifi 或其他)。您可以使用以下方法检索所有 ServiceRecord 对象的完整列表。

ServiceRecord[] records = ServiceBook.getSB().getRecords();
String uid = records[0].getUid();
String cid = records[0].getCid();

您可以使用此代码找出您需要哪条记录以及对应的uidcid 是什么。

请注意,这是只有在您拥有已签名应用程序时才能访问的类之一。这是 ServiceRecord 的 javadocs 链接。

ServiceRecord JavaDocs

【讨论】:

  • 好的,那么apn的用户名和密码呢?
  • 我假设您的意思是用户 ID 和内容 ID?这取决于您尝试使用的服务。我在问题正文中提供了一些信息。
  • 看,事情就是这样。我需要访问 tcp APN 信息以便在 Connector.open(String url) 中打开 http 连接时应用它。文档指出,可以将特殊的尾随参数添加到 url - "apn=;tunnelauthusername=;tunnelauthpassword=";我的程序尝试在没有应用 apn 设置的情况下建立基本连接。如果出现故障,它应该检查可用的 apn 设置并尝试以正确的方式使用它们。由于有些情况下 apn 需要注册,所以我也需要设置密码和用户名。
  • 对不起。我不知道 API 中有任何方法可以检索该信息。您确定这是您要完成的任务的要求吗?
  • 我也找不到。因此,鉴于我之前的所有发现,我想我的应用程序将在启动时以某种不同的方式获得这些运营商特定的 APN 设置。另一方面,遗憾的是 RIM 没有提供检索有关在 BlackBerry 设备中设置的接入点的详细信息的方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-18
相关资源
最近更新 更多