Android 及时检查手机信号强度
我需要每10秒检查一次手机信号强度,以便向服务器发送数据。 我在sqlite中有一些数据。在这10秒钟之后,我发送数据。 我有一个监听服务来获取信号上的变化。服务启动时验证工作正常,但我无法在整个生命周期中获取信号数据。我的应用程序有一些活动,这个服务从一开始就启动了 如何及时验证服务中的信号和我的数据Android 及时检查手机信号强度,android,service,Android,Service,我需要每10秒检查一次手机信号强度,以便向服务器发送数据。 我在sqlite中有一些数据。在这10秒钟之后,我发送数据。 我有一个监听服务来获取信号上的变化。服务启动时验证工作正常,但我无法在整个生命周期中获取信号数据。我的应用程序有一些活动,这个服务从一开始就启动了 如何及时验证服务中的信号和我的数据 public MyService extends IntentService{ public MyService(){ ... telephonyManager = (Tele
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);
}
}
循环这个,你就会得到结果
long delay = 10000;
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
//your code to verify the signal strength
}
}, delay);
循环这个,你就会得到结果
long delay = 10000;
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
//your code to verify the signal strength
}
}, delay);