2010-10-18 1 views
10

압도적 인 사용자 불만으로 인해 안드로이드 응용 프로그램의 사용자가 the official documentation에 따라 SD 카드로 이동할 수있게하려고했습니다. 그러나 내 응용 프로그램의 핵심 기능은 백그라운드 서비스가 지속적으로 실행되어야합니다. 어떤 이유로 든 내 앱을 SD 카드에 옮기면 내 백그라운드 서비스가 중단됩니다.SD 카드를 다시 장착했을 때 SD 카드에 대한 서비스 다시 시작

첫 번째 가능한 기회에 서비스를 다시 시작할 수있는 한 나에게 모두 괜찮습니다. 불행하게도 install-location 가이드가 Broadcast Intent ACTION_EXTERNAL_APPLICATIONS_AVAILABLE을 사용하여 SD 카드가 로컬로 다시 마운트 될 때이를 감지 할 수 있다고 주장했지만 해당 플래그 자체에 대한 설명서 인 this newsgroup discussion과이 테스트 방송이 사용 가능하게 된 응용 프로그램에 전달되지 않았 음을 보여줍니다 . SD 카드로 옮겨지지 않은 응용 프로그램 만 브로드 캐스트 인 텐트를 얻습니다.

SD 카드를 다시 장착 한 후 사용자가 내 앱을 열 때까지 기다리지 않고 백그라운드 서비스를 다시 시작할 수 있습니까?

+0

안녕하세요, Alex. 저는 같은 문제에 직면하고 있습니다. 어떻게 백그라운드에서 서비스를 다시 시작할 수 있었습니까? – Spynet

답변

7

신뢰할 수 없습니다. 궁극적으로는 발사하고 그런 식으로 통제해야하는 허가가없는 방송 Intents (예 : ACTION_SCREEN_OFF)에 연결할 수 있습니다. Hackborn이 지적 하듯이 옳은 대답은 ACTION_EXTERNAL_APPLICATIONS_AVAILABLE입니다. 외부 애플리케이션을 사용할 수있게 된 후에 SD 카드 관련 브로드 캐스트가 발생하는지 (예 : ACTION_MEDIA_MOUNTED) 확인할 수 있습니다. 외부 애플리케이션을 사용할 수 있기 전에 모든 애플리케이션이 통과되기를 기대합니다.