26

Androidエミュレーターでネットワークロケーションプロバイダーをアクティブ化することは可能ですか?多分偽のcellidで?

4

4 に答える 4

18

現時点では、あなたが達成したいことは不可能だと思います。エミュレータのネットワークロケーションプロバイダーにモックロケーションデータを配置することはできません。

「モックロケーションデータの提供はGPSロケーションデータとして挿入されるため、モックロケーションデータを機能させるには、GPS_PROVIDERにロケーション更新を要求する必要があります。」(Androidからの引用、ドキュメント、模擬位置データの提供

私が思いつくことができる最も近いことは、 ロケーションマネージャーから「テストプロバイダー」を作成することです。

public void addTestProvider (String name, boolean requiresNetwork, boolean requiresSatellite, boolean requiresCell, boolean hasMonetaryCost, boolean supportsAltitude, boolean supportsSpeed, boolean supportsBearing, int powerRequirement, int accuracy)

それに応じて、 requiresNetworkrequiresCellrequiresSatelliteの引数を設定します。次に、偽の場所をそのプロバイダーに配置できます。

public void setTestProviderLocation (String provider, Location loc)

それはあなたが求めていたものに近いですが、正確ではありません。

于 2011-02-06T21:55:21.733 に答える
3

位置情報をエミュレーターに送信する必要がありますか?これを実行したい場合は、adbコンソールとgeoコマンドhttp://developer.android.com/guide/developing/tools/emulator.html#geoを介してエミュレーターに場所を送信できます。

偽のcellidを送信できるかどうかはわかりませんが、アプリケーションがgpsプロバイダーをリッスンしている場合は、gps座標で送信できます。

于 2010-11-24T23:58:53.227 に答える
1

おそらく、エミュレータにUnifiedNlpネットワークロケーションプロバイダーをインストールできます。データがない場合でも、少なくともロケーションプロバイダーがありますNETWORK

そのプロバイダーはモジュール式であるため、おそらく²バックエンドを作成してモックの場所を挿入できます。

于 2019-05-23T10:35:39.793 に答える
-2

エミュレータの[設定]>[ロケーションアクセス]に移動し、[Wi-Fiとモバイルネットワークのロケーション]を確認します

于 2014-11-15T17:22:12.617 に答える