앱을 만들었습니다. 서비스를 시작합니다 (onStartCommand 유형). 그것은 모니터에서 클립 보드를 유지하는 스레드를 생성합니다android, 서비스를 실행중인 스레드를 유지하는 방법은 무엇입니까?
private class MonitorTask extends Thread {
@Override
public void run() {
mKeepRunning = true;
while (true) {
doTask(); //-this function uses the toast to show the string in clipboard
try {
Thread.sleep(300);
} catch (InterruptedException ignored) {
}
if (!mKeepRunning) {
break;
}
}
}
은 내가 통과 잠시 후, 서비스 (서비스 관리자를 실행에 따라)이 여전히 발견하지만, 스레드는 사라졌다. 사용자가 앱을 닫을 때까지 스레드를 영원히 계속 실행하려면 어떻게해야합니까?
InterruptedException이 될 수 있습니다. 스레드를 다시 시작하기 위해 catch를 어떻게 사용할 수 있습니까?
일부 오래된 스레드는 AlarmManager를 사용하여 "서비스를 시작하고 무언가를하고 서비스를 닫습니다"라고 언급 한 적이 있지만 규칙적인 간격으로 서비스를 제공하지만 좋은 생각은 아닙니다.
일반적인 방법이나 좋은 아이디어가 있다면 알려주십시오. 미리 감사드립니다.
업데이트 실제로, 나는 ClipboardManager가 있다는 것을 알고 있지만,이 하나가 android 2.3.4와 호환되지 않는다는 것을 알고 있습니다. 게다가, 서비스중인 쓰레드를 만들고 싶다면 어떻게 죽일 지 어떻게 알 수 있습니까? 감사합니다
고마워, 업데이트 사실, ClipboardManager 알아,하지만이 안드로이드 2.3.4 호환되지 않습니다 알아요. 게다가, 서비스중인 쓰레드를 만들고 싶다면 어떻게 죽일 지 어떻게 알 수 있습니까? 감사 – manhon