Service
으로 신청할 수 있습니다. 이 서비스는 worker Thread
을 시작하며이 스레드는 Service 인스턴스 (이 서비스의 일부 메소드를 호출)에 대한 포인터가 필요합니다. Android : 서비스에 대한 포인터를 얻는 방법?
Runnable
생성자에
Service
의
onCreate()
방법에서
this
포인터를 전달,하지만 난 내 응용 프로그램을 닫을 때까지 올바르게 작동합니다. 응용 프로그램을 다시 시작하면 포인터가 실제로 잘못되었습니다. 나는 아직도 무엇이 잘못되었는지 알 수 없다. 그러나 Service의 인스턴스에 대한 포인터가 Service의 또 다른 인스턴스를 가리키는 포인터이며, 내
Runnable
에 대한 포인터도 잘못되었다고 생각된다.
내 내 앱을 죽인 다음에 다음 번에 제대로 작동하지만 다시 시작한 후에도 동일한 문제가 발생합니다.
나는 내가 서비스의onCreate()
방법에서
this
포인터를 전달할 수 없다는 생각,하지만, 내가 어떻게
onCreate()
방법에서 시작하는 스레드에서 내 서비스의 인스턴스에 대한 포인터를받을 수 있나요?
업데이트 : 방금 정확히 동일하다고 생각했습니다. singleton issue. Runnable
은 싱글 톤이었습니다. 하지만 여전히 안드로이드에서 싱글 톤을 사용하지 않는 것 외에는 좋은 해결책을 찾을 수 없습니다. 아마, 어떤 제안이라도?
감사합니다. 죄송합니다 잘못된 용어지만, "응용 프로그램"에 대한 : 시스템 설정에서 나는 정확히 "응용 프로그램 관리"로 갈 수 있고, 멈출 수 있습니다 (예, 닫기지만, 멈추지 만) 제 설치 한 "응용 프로그램". 나는 적당한 기간이 활동 일 것이라고 생각하니? 그리고 다시 확인해보고 싶습니다. 일반적으로 Service.onCreate()의 무언가에 this 참조를 전달할 수 있습니까? –
@dimonomid : "시스템 설정에서 정확히"응용 프로그램 관리 "로 갈 수 있으며, 설치 한"응용 프로그램 "을 멈출 수 있습니다. - 사용자는 일반적으로이 작업을 수행하지 않습니다. "이 참조를 Service.onCreate()의 무언가에 전달해도 괜찮습니까?" - 일반적으로 그렇습니다. – CommonsWare
나는 사용자가이 작업을 수행해야한다고 말하지 않고 "app"용어를 사용한 이유를 설명하려고했습니다. 음, 버그를 발견했습니다. 다시 한 번 감사드립니다 : 싱글 톤 문제가있었습니다. 내 질문을 업데이트했습니다.이 업데이트를 살펴보고 뭔가 제안 할 수 있습니까? –