2011-11-20 5 views
0

작은 프로젝트를 진행하고 있습니다.웹 서비스 호출을 통해 가져온 데이터로 안드로이드에 이벤트 알림을 설정하십시오.

  1. 가 특정 콘텐츠를 발생 켜기 MSG 본체
  2. 에서 일부 특정 내용으로 SMS에 대한 를 기울인다는하는 웹 서비스를 만들 안드로이드 산도에서 실행되는 어떤 배경 서비스/유무 : 우리는 다음을 수행 할 필요가 달력

위의 모든 사용자의 개입없이 수행해야합니다에 미리 알림 일부 이벤트 데이터

  • 설정 가져온 이벤트 데이터를 다운로드 할 원격 서버에 호출합니다.

    브로드 캐스트 리시버를 통해 #1을 관리했습니다. 그것을 위해 서비스를 실행할 필요가 없었습니다.

    #2의 경우 브로드 캐스트 수신기 onReceive() 메서드를 통해 웹 서비스를 호출하고 데이터를 가져올 계획입니다. 데이터를 확보 한 후 사용자가 동일한 정보를 기반으로 적시의 알림을 받도록 설정하는 방법은 무엇입니까? 개방 된 활동이나 사용자가 볼 수있는 활동이 없습니다. 그는 (ph를 다시 시작하더라도) 미리 알림을 받아야합니다.

    도움이 될 것입니다. 감사!

  • 답변

    0

    # 2의 경우 브로드 캐스트 수신기 onReceive() 메서드를 통해 웹 서비스를 호출하고 데이터를 가져올 계획입니다.

    하지 마십시오. 이것은 신뢰할 수 없으며 전경 활동을하는 경우 UI를 고정시킵니다. onReceive()이 메인 애플리케이션 스레드에서 호출되며 백그라운드 에서조차도 해당 스레드에서 너무 많은 시간을 소비하고 있다고 생각되면 Android가 코드를 종료합니다. 이 작업을 백그라운드 스레드가 있고 수행 할 작업이 더 이상 없을 때 자동으로 종료되는 IntentService에 위임하십시오.

    일단 내가 데이터를 가지고 있다면 사용자가 동일한 정보를 기반으로 적시의 알림을 받도록 어떻게 설정해야합니까?

    아이스크림 샌드위치 (Android 4.0)에서 캘린더에 일정을 추가 할 수 있습니다.

    그 전에는 AlarmManager을 사용하여 나만의 알림 메커니즘을 굴려보세요.

    사용자가 볼 수있는 활동이 전혀 없습니다.

    활동을 제공 할 수밖에 없습니다. 그렇지 않으면 앱이 Android 3.1 이상에서 실행되지 않습니다. 앱을 사용하려면 한 번 활동을 실행해야하며, 작업 킬러 또는 설정 애플리케이션을 통해 앱을 종료해야 할 때마다 다시해야합니다.

    +0

    첫 번째 제안에 감사드립니다. 그에 따라 코드가 변경됩니다. 대상 버전은 Android 2.3입니다. AlarmManager 또는 2.3을 사용하여 알림 작업을 수행하는 방법에 대한 샘플 코드 또는 링크는 무엇입니까? –

    +0

    @NimittoGanguli : [내 책 중 하나] (http://commonsware.com/AndTutorials)에 작성된 LunchList 앱의 일환으로 매일 알림이 있습니다. https : // github를 참조하십시오.com/commonsguy/cw-lunchlist/tree/master/20-Notification (특히'OnBootReceiver'와'OnAlarmReceiver')을 사용합니다. – CommonsWare

    관련 문제