2012-06-25 8 views
6

Androidのエミュレータで信号強度の変化をシミュレートする方法はありますか? 私はアプリで信号強度を記録するphonestatelistenerを持っています。私もエミュレータにtelnetを使用していますが、gsmシグナル5 5のようなコマンドですが、rssiシグナルの強度として99、ビットエラーレートとして-1を得ています。Androidエミュレータの信号強度

+0

特に、信号強度を変更したり、ネットワーク接続の速度を低下させようとしていますか? – hwrdprkns

+0

信号の強さを変えれば、私はtelnetでgsm信号コマンドがなぜエミュレータで動作しているように見えるのか分かりません。 – MEURSAULT

答えて

0

私はエミュレータではできないと思います。

Source

+0

私はGoogleを検索したときにそのリンクをもらった。しかし、エミュレータにtelnetしてリストを作成すると、gsmシグナルと呼ばれるコマンドが実行されます。それはこのコマンドがデバイスでのみ動作することを意味しますか?私は、telnetコマンドの全ポイントがデバイスの変更をシミュレートすることだと考えました... – MEURSAULT

+0

これはおそらく、異なるネットワークの電力(dB)定格が異なるさまざまなデバイス用です。エミュレータでこれを実装するのは難しいかもしれません。 – hwrdprkns

+0

あなたはもちろん、エミュレータにパッチを当てることができます。あなたが望むことは何でも行うことができます。APIがプロパティやデータパーティションのどこかに貼り付いたファイルから値を返すようにするには、かなり簡単なハックです。ほとんどの作業は、それを再構築するために設定するだけです(または、すべてを再構築せずにパッチを実行する)。あなたのコード内でAPIをラップするだけで、実際のデバイスで一度だけテストする方が簡単かもしれません。おそらく、静電気防止用バッグを限界ファラデーケージとして試してみてください。 –

1

私はそれをあざけるためのいくつかのダミークラスを作成し、実際の労働者階級に変更するような場合にインターフェイスを

interface SignalInformation{ 
    float signalStrength(); 
    //etc... 
} 

を模擬するために良いアイデアだと思います。

class MockSignal implements SignalInformation{ 

    public float signalStrength(){ 
     return 3.5; //or whatever behaviour you want (i.e. random number) 
    } 
} 

関連する問題