2011-08-08 12 views
0

私はMapViewを使用するBlackBerryアプリケーションで作業しています。 現時点では、MapViewのみを表示しています。 これは私がそれのために使用したコードからの抜粋です:Blackberry MapViewがデバイスで動作しません。シミュレータで作業中です

public class MapScreen extends MainScreen { 
    private MapField map; 

    public MapScreen() { 
    super(MainScreen.NO_VERTICAL_SCROLL); 

    map = new MapField(); 
    map.moveTo(new Coordinates(50.847573,4.713135, 0)); 
    add(map); 

    //... 
    } 

    //... 
}

私はシミュレータ上でOS 5.0

と互換性があるように持っているので、私は、すべての罰金をnet.rim.device.api.lbs.MapFieldを使用していますし、それが働いています。 しかし、私はデバイスに展開すると、私は白い画面が表示されます...

デバイスにはWi-Fi経由でのみインターネット接続があります。最初はそれが問題だと思っていましたが、"Blackberry services that are available over Wi-Fi connections"によれば、それは問題ではありません。

だから、なぜそれがデバイス上で動作していないのか、誰が私がこれをどのように解決できるかを知っていますか? ありがとう

答えて

2

あなたは、「デバイスにはインターネット接続がありますが、Wi-Fiを介してのみ」と言っています。実際のデバイスにはBlackBerryデータプランがプロビジョニングされていません。 Wi-Fi経由でも、BlackBerryサービスにアクセスするには、その計画が必要です。

あなたが使用することができ、適切な接続をチェックするには:このためにチェックするより良い方法がLBSConfigまたはその変異体をServiceBookエントリをチェックすることです

if (CoverageInfo.isCoverageSufficient(CoverageInfo.COVERAGE_BIS_B) { 
    // Connection will support BlackBerry services 
} else if (CoverageInfo.isCoverageSufficient(CoverageInfo.COVERAGE_MDS) { 
    // Connection will support BlackBerry services if BES allows the connection to BIS servers. 
} 
+0

はい、私はSIMカードなしのデバイスで実行しています。そのため、ユーザーにBlackBerryサービスのないデータプランがある場合、MapViewを使用する可能性はありませんか? それが利用できないことを検出できる可能性があるので、メッセージを表示できますか? – Arne517

+0

BlackBerryデータプランのないユーザーは、BlackBerryマップを使用できません。彼らは彼らが持っているサービスに応じてGoogleマップを使用することができるかもしれません。検出コードが私の答えに編集されました。 – Richard

+0

スーパー!あなたの答えと検出コードのおかげで:-) – Arne517

1

これにより、プランにはなく、以前はLBSで構成されたデバイスが正常に機能することができます。

private static final boolean have_lbs() { 
    ServiceBook sb = ServiceBook.getSB(); 
    ServiceRecord[] records = sb.getRecords(); 
    int count = records.length; 
    for (int ii = 0; ii < count; ++ii) { 
     if (records[ii].getCid().toUpperCase().startsWith("LBS")) 
      return true; 
    } 
    return false; 
} 
関連する問題