0
내 안드로이드 응용 프로그램 용 서비스를 만들고 있는데 다른 활동에서 onPostExecute를 실행하고 싶습니다. 아래 안드로이드 서비스가 onPostExecute에서 실행되고 있지 않습니다.
는 CheckStatus.class (서비스 클래스)public class CheckStatus extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.e("service", "start");
loop();
return START_STICKY;
}
@Override
public void onDestroy() {
super.onDestroy();
Log.e("service", "stop service");
}
private void loop(){
long endTime = System.currentTimeMillis()+5*1000;
while (System.currentTimeMillis()<endTime) {
synchronized (this) {
try {
wait(endTime - System.currentTimeMillis());
} catch (Exception e) {
}
}
}
Log.e("service", "Check status");
new CheckStatusTask().execute();
}
private class CheckStatusTask extends AsyncTask<String, Void, Void> {
char check_online;
@Override
protected Void doInBackground(String... params) {
//call url json POST method
try {
//Check return data status
} catch (Exception e) {
e.printStackTrace();
check_online = '2';
}
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
dialog.dismiss();
if (check_online == '1') {
Toast.makeText(getApplicationContext(), "online", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), "offline", Toast.LENGTH_LONG).show();
}
}
}
}
그래서 다른 활동
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
Intent check_status = new Intent(MainActivity.this,CheckStatus.class);
startService(check_status);
}
에 서비스를 호출하려고하지만이 실행되지 않을 수 있습니다.
어떻게하면 서비스를 실행할 수 있습니까?
당신이 질문 당신은 당신의 서비스를 실행하려면 얼마나 –
을 편집하여 로그 캣 오류 보고서를 추가 할 수 있습니다주십시오 manifest.xml에 다음을 추가하세요? –
매니페스트에 서비스를 추가 했습니까? –