반응형
Android에서 서비스 중지
여기서는 간단한 서비스 프로그램을 시도했습니다. 서비스 시작은 제대로 작동하고 토스트를 생성하지만 서비스 중지는 그렇지 않습니다. 이 간단한 서비스의 코드는 다음과 같습니다.
public class MailService extends Service {
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
public void onCreate(){
super.onCreate();
Toast.makeText(this, "Service Started", Toast.LENGTH_SHORT).show();
}
public void onDestroyed(){
Toast.makeText(this, "Service Destroyed", Toast.LENGTH_SHORT).show();
super.onDestroy();
}
}
이 서비스가 호출되는 활동 코드는 다음과 같습니다.
public class ServiceTest extends Activity{
private Button start,stop;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.service_test);
start=(Button)findViewById(R.id.btnStart);
stop=(Button)findViewById(R.id.btnStop);
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
startService(new Intent(ServiceTest.this,MailService.class));
}
});
stop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
stopService(new Intent(ServiceTest.this,MailService.class));
}
});
}
}
onDestroy () 메서드에서 토스트를 생성하는 중지 버튼으로 서비스를 중지하도록 도와주세요. 나는 이미 여기에서 서비스 중지 문제에 관한 많은 게시물을 보았지만 만족스럽지 않아 새로운 질문을 게시했습니다. 만족스러운 답변을 바랍니다.
onDestroyed()
에 대한 잘못된 이름입니다
onDestroy()
이 질문이나 코드에서도 실수를 했습니까?
이 코드는 나를 위해 작동합니다.이 링크를 확인하십시오
. 활동에서 서비스를 중지하고 시작할 때의 코드입니다.
case R.id.buttonStart:
Log.d(TAG, "onClick: starting srvice");
startService(new Intent(this, MyService.class));
break;
case R.id.buttonStop:
Log.d(TAG, "onClick: stopping srvice");
stopService(new Intent(this, MyService.class));
break;
}
}
}
그리고 서비스 등급 :
@Override
public void onCreate() {
Toast.makeText(this, "My Service Created", Toast.LENGTH_LONG).show();
Log.d(TAG, "onCreate");
player = MediaPlayer.create(this, R.raw.braincandy);
player.setLooping(false); // Set looping
}
@Override
public void onDestroy() {
Toast.makeText(this, "My Service Stopped", Toast.LENGTH_LONG).show();
Log.d(TAG, "onDestroy");
player.stop();
}
즐거운 코딩!
서비스 를 중지 하려면 다음 메소드를 사용해야합니다 stopService()
.
Intent myService = new Intent(MainActivity.this, BackgroundSoundService.class);
//startService(myService);
stopService(myService);
then the method onDestroy()
in the service is called:
@Override
public void onDestroy() {
Log.i(TAG, "onCreate() , service stopped...");
}
Here is a complete example including how to stop the service.
참고URL : https://stackoverflow.com/questions/5555765/stop-service-in-android
반응형
'Program Tip' 카테고리의 다른 글
구성 설정 문제에 어떤 디자인 패턴을 적용 할 수 있습니까? (0) | 2020.10.30 |
---|---|
Data.Text 대 문자열 (0) | 2020.10.30 |
Rails에서 "Rack :: File headers 매개 변수가 Rack 1.5 이후 cache_control을 대체합니다"라는 경고를 표시합니다. (0) | 2020.10.30 |
java.util.zip.ZipException : zip 파일 열기 오류 (0) | 2020.10.30 |
내 응용 프로그램에서 발생할 수있는 기본 제공 .NET 예외는 무엇입니까? (0) | 2020.10.30 |