1
サーバーにデータを送信するために、10秒ごとに自分の携帯信号強度を確認する必要があります。 私はsqliteにいくつかのデータを持っています。これらの10秒後に私はデータを送信します。 私はシグナルの変更を取得するリスナーとのサービスを持っています。サービスの開始時には正常に動作しますが、ライフサイクル全体を通じて信号データを取得することはできません。私のアプリケーションにはいくつかの活動があり、このサービスは最初から始まります。タイムリーに信号強度を確認する
サービスと私のデータの信号をタイムリーに確認できますか?
public MyService extends IntentService{
public MyService(){
...
telephonyManager = (TelephonyManager) App.getContext().getSystemService(Context.TELEPHONY_SERVICE);
telephonyManager.listen(
new PhoneStateListener(){
@Override
public void onSignalStrengthsChanged(SignalStrength signalStrength){
int signalStrengthPercentage = 0;
int gsmSignalStrength = signalStrength.getGsmSignalStrength();
if(signalStrength != null && gsmSignalStrength != 99){
signalStrengthPercentage = (int) ((float) gsmSignalStrength/31 * 100);
}
signalIsStrength = signalStrengthPercentage >= 50;
Log.e("ERROR", "Percentage: "+signalStrengthPercentage);
}
}, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
}
}