В настоящее время я создал службу для httpRequest для моего php-сервера каждые 15 секунд. Код работает хорошо, но проблема в том, что когда я закрываю приложение, httpRequest перестает работать и больше не отправляет данные. что я хочу сделать, когда я закрываю приложение, httpRequest все еще работает. что я должен изменить в своем коде?Как продолжить выполнение задачи, даже если приложение уже закрыто?
вот код я работаю над ...
public class NotificationService extends Service {
public String response;
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Toast.makeText(this, "on start command", Toast.LENGTH_SHORT).show();
new MyAsyncTask().execute("muhammad sappe");
return START_NOT_STICKY;
}
private class MyAsyncTask extends AsyncTask<String, String, String>{
@Override
protected String doInBackground(String... params) {
// TODO Auto-generated method stub
postData(params[0]);
return null;
}
@Override
protected void onPostExecute(String result) {
new Handler().postDelayed(new Runnable() {
public void run() {
new MyAsyncTask().execute("muhammad sappe");
}
}, 15000);
super.onPostExecute(result);
}
}
public void postData(String MyName){
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://mydomain/getData.php");
try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
nameValuePairs.add(new BasicNameValuePair("action", MyName));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
ResponseHandler<String> responseHandler = new BasicResponseHandler();
response = httpclient.execute(httppost, responseHandler);
}catch(ClientProtocolException e){
// TODO Auto-generated catch block
}catch(IOException e) {
// TODO Auto-generated catch block
}
}
public void onDestroy() {
super.onDestroy();
}
}
моя ошибка: D i miss понял о START_STICKY и START_NOT_STICKY .... .. спасибо alot bro (y) .. вы спасли мое время –