0

私の Java ME アプリでは、エミュレーターで LocationProvider.getInstance(null) が常に null を返します。

アプリは初期状態のため、実機では試していません。

私は Location API に関するすべての記事を読んだと思いますが、なぜそれが私に起こっているのか、まだわかりません。

同じエミュレーターで同じ設定を使用して、異なるプロジェクトで正常に動作します。

コードは次のとおりです。

if(currentLp == null) 
{
     try 
     {
         System.err.println("nope");
         currentLp = LocationProvider.getInstance(null);
     } catch (LocationException ex) 
     {
          System.err.println("Ooops!");
     }
 }

CLDC-1.1, MIDP-2.1, Location API 1.0からの DefaultCLDCPhone01 でSDK3.0

4

1 に答える 1

0

SDK3.0 の DefaultCLDCPhone01 での CLDC-1.1、MIDP-2.1、Location API 1.0

LAPI 1.0 - JSR 179 . このバージョン仕様でLocationProvider.getInstanceは、「定義された基準を満たす LocationProvider を返すことができないが、基準を満たさない他のサポートされている利用可能なプロバイダーまたは一時的に利用できないプロバイダーがある場合」に null を返します。

...提供しない場合は、JSR293 に従って例外をスローします。

おっとJSR293?それは LAPI2.0ではありません1.0。それが何を指定しても、あなたが書いたように、それは以前のバージョンの仕様をサポートしているので、あなたのケースとは何の関係もありません。あなたのケースで期待されることについては、JSR 179 を使用してください。または、可能であれば JSR 293 をサポートするようにDefaultCLDCPhoneを構成します (エミュレーターのユーザーガイドにあるはずです)。

于 2011-08-27T21:24:52.310 に答える