Ich entwickle eine Android-App, um Benachrichtigungen anzuzeigen. Wie kann ich einen Webservice in endlichem Intervall (zB 10 Minuten Intervall) abfragen, um nach Updates zu suchen und diese als Benachrichtigung im Android-Benachrichtigungsfeld anzuzeigen.
Sie brauchen keinen Service. Ich fühle mich wie eine kaputte Platte. In diesem Anwendungsfall wird ein Service 95% der Zeit dort sitzen und nichts tun, aber immer noch Systemressourcen nutzen und, was noch wichtiger ist, die Batterie entleeren.
Siehe meine Antwort zu einer ähnlichen Frage, die einen Alarm vom AlarmManager verwendet:
Task wird regelmäßig ausgeführt (einmal am Tag / einmal eine Woche)
Bearbeiten:
Sehen Sie sich dieses Tutorial auf der Android Development-Website an, um Benachrichtigungen zu implementieren: Ссылка
Von Google C2DM wird ein Cloud-to-Device-Messaging-Dienst bereitgestellt. Sie können diesen Dienst verwenden, um Nachrichten an alle registrierten mobilen Geräte zu senden. Dies verbessert nicht nur die Leistung, sondern stellt auch sicher, dass die Batterie nicht entladen wird, während der Server kontinuierlich abgefragt wird.
Für Ihr Szenario können Sie in eine Java-Klasse schreiben, um regelmäßig den Web-Service abzufragen und den C2DM-Dienst verwenden, um die Nachricht an Ihr Android-Telefon zu senden, das als Benachrichtigung angezeigt werden kann. Sehen Sie sich dieses Tutorial von Vogella im Link an. Oder besser: Wenn Sie den Webdienst nur zum Abrufen aktualisierter Details verwenden, können Sie den Webdienst vermeiden und den C2DM Push Service direkt aufrufen, um bei jeder Änderung eine Nachricht an alle registrierten Geräte zu senden.
Ich hoffe, das hat geholfen. :)
Tags und Links android android-notifications web-services notifications android-alarms