2014-12-18 4 views
0

BOOT_COMPLETED 작업에 BroadcastReceiver를 등록하려고합니다. 이를 위해 매니페스트 파일 내에 receiver 태그를 사용하고 있습니다.응용 프로그램을 실행하지 않고 수신기를 등록하십시오.

예상대로 작동하지만 내 응용 프로그램이 업데이트 될 때 이것이 사용자에게 적용될 수 있는지 궁금합니다. 내 응용 프로그램에는 이미 일부 사용자가 있으므로 응용 프로그램을 업데이트 할 때 매니페스트 파일의 새 정보가 적용되고이 응용 프로그램을 실제로 응용 프로그램을 열지 않아도 등록됩니다.

내게 이런 식으로 작동하지 않는 것 같아요. 다음에 수신자가 애플리케이션을 열 때 등록됩니다. 애플리케이션을 실행하는 방법이 있습니까? 또는 실제 유스 케이스에 대해, 업데이트 후에 안드로이드 알림을 보낼 수있는 방법이 있습니까?

+0

에 그것을 테스트 일 것, 그것은 등록해야 다음 재부팅시 설치 및 활성화됩니다. ** 이것이 ** 작동하지 않는다는 것을 확인할 수 있습니까? – 323go

+3

@ 323go는 활동이 실행될 때까지 수행되지 않습니다. 새로 설치된 Android 앱에 의한 보안 확인은 앱 실행이 활성화 될 때까지 사용 가능한 서비스 또는 수신자를 갖지 않습니다. 내 확신은 확인할 수는 없지만 매니페스트에 대한 새로운 업데이트에도 적용된다는 것입니다. 테스트를 통해. –

+0

글쎄, 내가 확인할 수있는 유일한 것은 그것이 새로운 버전을 설치하는 데 adb를 사용하여 작동하지 않는다는 것입니다 ... 나는 그것이 appstore에서 업데이 트되면 어떤 차이가 있어야할지 모르겠어요. 또한 어떻게 작동하는지 알 수 있습니까? 이 수신기가 언제 등록 되었습니까? 왜냐하면 그들은 응용 프로그램이 실행될 때 등록 될 수 있다고 생각하기 때문입니다. –

답변

0

늦게 대답했지만 나는 같은 문제에 직면했다. 이전에 앱을 실행 한 적이 없다면 수신기 클래스를 지정해야합니다.

그래서이 작동하지 않습니다

adb shell am broadcast -a com.obaied.myapplication.TEST_ACTION 

을하지만 그것은 매니페스트에 있다면

adb shell am broadcast -a com.obaied.myapplication.TEST_ACTION -n com.obaied.myapplication/.TestReceiver 

안드로이드 API (25)

+0

내가 실행중인 명령에 액세스 할 수있는 개발 장치에 설치된 응용 프로그램이 아닌 사용자의 응용 프로그램에서 장치에 설치된 응용 프로그램에 대해 묻는 질문은 –

+0

내 실수입니다. 나는 오해 했음에 틀림 없다. – Solidak

관련 문제