2011-12-22 5 views
0

내 신청서에 다음과 같은 계획이 있습니다.안드로이드의 다른 프로세스에서 서비스 및 활동 실행

  1. 브로드 캐스트 수신기는 BOOT_COMPLETED 동작을 수신 대기하고 반복 경보를 설정합니다.
  2. 알람은 PendingIntent를 통해 서비스를 시작합니다.
  3. 서비스는 인터넷으로 일부 데이터를 확인하고 새 데이터를 사용할 수있는 경우 사용자가 선택하면 활동을 실행하는 알림을 표시합니다.

하나만 제외하면 모두 완벽하게 작동합니다. 장치의 작업 관리자에서 응용 프로그램을 닫으면 프로세스가 종료되고 경보가 작동하지 않습니다. 따라서 다음에 장치를 다시 시작할 때까지 프로세스가 중지됩니다.

android 설정 : 서비스 및 활동에 대해 다른 프로세스가 도움이되지 않습니다. 디버거는 두 가지 다른 프로세스가 있음을 보여 주지만 작업 관리자에서 응용 프로그램을 닫으면 두 프로세스가 모두 종료됩니다.

두 개의 다른 응용 프로그램을 만들었습니다. 하나는 활동이고 다른 하나는 브로드 캐스트 수신기 및 서비스입니다.

이 경우 모든 것이 제대로 작동합니다. 하지만 지금은 또 다른 문제가 있습니다. 두 개의 .apk 파일. 나는 하나의 시장에서 두 개의 apk를 하나로 합치는 해결책을 찾고자했지만 불가능한 것처럼 보입니다. 사용자에게 두 개의 APK를 설치하도록 요청하는 것이 좋다고 생각하지 않습니다.

제 질문은 어떻게 해결할 수 있습니까?

답변

1

내 장치의 작업 관리자에서 응용 프로그램을 닫으면 프로세스가 종료되고 경보가 작동하지 않습니다. 따라서 다음에 장치를 다시 시작할 때까지 프로세스가 중지됩니다.

이것은 좋은 것입니다. 사용자가 응용 프로그램을 종료하거나 강제 종료하면 "다시 실행하지 마십시오."라고 말합니다. 개발자는 사용자의 희망을 존중해야합니다.

제 질문은 어떻게 해결할 수 있습니까?

존경심으로 사용자를 대우하고 그들이 선택한 경우 앱을 강제 종료 할 수있게하십시오. 다음에 수동으로 응용 프로그램을 실행할 때 경보를 다시 활성화 할 수 있습니다.

AlarmManager 트리거 된 코드가 실행될 때 추적하도록함으로써 사용자가이를 수행했는지 여부를 감지 할 수도 있습니다. 다음 번에 사용자가 수동으로 활동을 시작하면 알람 코드가 실행되지 않았다고 판단됩니다 너무 길어서 사용자가 강제로 멈추었다는 의미입니다. 이 정보를 사용하여 사용자가 PreferenceActivity으로 이동하고 알람 작동 방식을 변경하여 (예 : 10 분마다가 아닌 24 시간마다 실행) 사용자가 애플리케이션을 강제 중지 할 필요가 없다고 생각할 수 있습니다.

+0

사용자가 내 앱을 좋아하지 않는다면 앱을 제거합니다. 나는 메모리를 확보하기 위해 현재 실행중인 모든 응용 프로그램을 닫습니다. 그래서 많은 사용자들이 그렇게 생각합니다. 그리고 내 경보는 당신이 생각하는대로 매 10 분마다 하루에 한 번 설정됩니다. 내 앱 사용자에 대해 관심을 가져 주셔서 감사합니다. – user1112057

+0

@ user1112057 : "메모리를 확보하기 위해 현재 실행중인 모든 응용 프로그램을 닫습니다. 그래서 많은 사용자가 그렇게 생각합니다"- 이러한 사용자는 결국 이렇게하면 일부 응용 프로그램이 중단된다는 것을 알게됩니다. "그리고 제 알람은 하루에 한 번 설정됩니다. 10 분마다 생각하지 않아도됩니다."- 24 시간 10 분은 단지 예일뿐입니다. – CommonsWare

관련 문제