2011-09-15 9 views
0

SignalStrength Androidクラスに少し問題があります。 onSignalStrengthsChanged()メソッドでこのクラスのオブジェクトを参照せずにこのクラスのメソッドを使用する方法はありますか? 私が見たすべての例から、これはイベントクラスであり、イベント(gsm信号強度の変更)が発生したときにオブジェクトが作成され、これがこのクラスのメソッドを呼び出す唯一の方法であると思われます。私は正しい?私はボタンオブジェクトをクリックしたときに、たとえば、他のいくつかのケースでは、このクラスからメソッドを呼び出します(とGSM信号特性を読み取り)したい場合はどうAndroid - SignalStrengthはイベントクラスですか?

public void onSignalStrengthsChanged(SignalStrength signalStrength) 
    { 
    String power= String.valueOf(signalStrength.getGsmSignalStrength()); 
    gsmStat.setText("GSM cinr: " +power); 
    } 

ご協力いただきありがとうございます。私は本当にこれに固執しています。

BR、 Z


はこれを片付けてくれてありがとう。私はgetNeighbouringCellInfoを使用しようとしましたが、何らかの理由でこれが0を返します。そして、私は検索し、さまざまな例を試しました。

Tel = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); 

public void onClick(View v) { 
List<NeighboringCellInfo> neighCell = null; 
neighCell = Tel.getNeighboringCellInfo(); 
NeighboringCellInfo thisCell = neighCell.get(1); 
int thisNeighRSSI = thisCell.getRssi(); 
String rssi=Integer.toString(thisNeighRSSI); 
tvRSSI.setText("Test: " +rssi); 
} 

答えて

1

できません。関連するSignalStrengthオブジェクトを取得する唯一の方法は、onSignalStrengthChangedメソッドです。

ただし、TelephonyManager.getNeighbouringCellInfoメソッドを使用して、周囲のセルを一覧表示し、信号のRSSIパワー(getRssi)を取得できます。

0

参照:getNeighboringCellInfo() returning null list

getNeighboringCellInfo() 

これはサムスンのデバイス上で動作するようには思えません。

申し訳ありませんが、これを回答として入力してください。既存の回答にコメントを追加することはできません。

私の答えは、ボタンを押したときに最後に記録されたRSSI値が返されるように、サービス内で自分自身でRSSIを追跡することができます。それを言って、私は私が働いているサムスン銀河で、RSSI値は実際には実際のRSSIではなくアンテナバーの数(すなわち、私は4つの値しか得られない)であることを発見しました。

+0

ええと、私は実際に私は三星銀河を持っていますが、混乱しているのは、私がエミュレータでテストしている間にこの結果を得ているからです。この。 Javaのリビジョンをやる、私が知っていたほとんどすべてを忘れてしまった:) – Z555

関連する問題