多次打开/关闭Wi-Fi时服务停止工作,当我开始服务时做计数器1,2,3等或任何事情然后打开/关闭Wi-Fi多次服务停止工作,我有BroadcastReceiver上课开始服务,没有例外,出现错误,只有我发一条消息给手机开始服务..
这是BroadcastReceiver中的代码:
if(intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")) {
Intent recorderIntent = new Intent(context, Start2.class);
context.startService(recorderIntent);
}
这是我的Start2服务:
public class Start2 extends Service {
private static final String TAG = Start2.class.getSimpleName();
int mStartMode;
@Override
public void onDestroy() {
Log.d(TAG, "Stop Service onDestroy");
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
AsyncTask<Void, Void, String> task = new AsyncTask<Void, Void, String>() {
@Override
protected String doInBackground(Void... params) {
final Handler handler = new Handler(Looper.getMainLooper());
Runnable runnable = new Runnable() {
int i = 0 ;
@Override
public void run() {
try{
//do your code here
Log.d(TAG, "Start Service Repeat Time.. " + i);
i++;
}
catch (Exception e) {
// TODO: handle exception
}
finally{
//also call the same runnable to call it at regular interval
handler.postDelayed( this, 5000 );
}
}
};
handler.postDelayed(runnable, 1000 );
return null;
}
};
task.execute();
return mStartMode;
}
}