2015-01-21 12 views
1

일부 연구를 수행 했으므로 합의에 따라 android:updatePeriodMillis을 프로그래밍 방식으로 업데이트 할 수없는 것으로 보입니다.android : updatePeriodMillis 프로그래밍 방식으로

대신 AlarmManager을 사용해야하는 것 같습니다. sledghammer를 사용하여 너트를 깨는 것 같습니다. 이상하게도 API가 코어 updatePeriodMillis을 업데이트 할 수있는 것은 아닙니다.

API가 발전하는 경향이 있고 오래된 답변이 더 이상 적합하지 않으므로 웹에있는 것에 의존하는 데있어 항상 약간의 위험이 있습니다.

그래서 나는 이것이 여전히 사실인지 확인하고 있습니다. 예를 들어 http://developer.android.com/guide/topics/appwidgets/index.html의 가이드는 AppWidgetProvider의 업데이트주기를 변경할 수 있음을 적어도 이라고 암시합니다. updatePeriodMillis을 논의 할 때 그것은 말한다 :

는 "당신은 또한-일부 구성의 사람들이 주식 시세는 15 분마다, 아니면 단지 하루에 네 번 업데이트 할 수있는 사용자가에서 주파수를 조정할 수 있습니다."

그리고 AlarmManager를 사용하지만 분명히에만 업데이트 기간을 변경하는 것보다는 장치를 깨어 방지 관련 이야기에 간다.

감사합니다.

답변

3

그래서 나는 이것이 여전히 사실인지 확인하고 있습니다.

예, 여전히 updatePeriodMillis을 업데이트 할 수없는 경우입니다. 나는 updateUpdatePeriodMillis() 방법을보고 싶기 때문에 나쁘다. 특히 이것이 어떤 종류의 빌더 또는 트랜잭션 객체를 통해 수행 되었다면, 그것도 updateUpdateUpdatePeriodMillis() 메소드를 통해 변경 될 수 있음을 의미합니다.

:-)는

내가 그만큼 당신은하지와 같은 것을 생각하지만 당신이뿐만 아니라

당신은 안드로이드 5.0에 JobScheduler를 사용할 수있는 알람 관리기를 사용해야 할 것 같다 어느 한 쪽.

사용자가 updatePeriodMillis의 여러 배수를 구성하도록 허용 한 다음 N 업데이트가있을 때마다 작업을 수행 할 수도 있습니다.

또는 앱 위젯을 주기적으로 업데이트 할 수는 없으며 시간이 아닌 앱 기능에 따라 필요한 경우에만 업데이트 할 수 있습니다. IMHO, 이것이 대부분의 앱이해야하는 것입니다.

+0

흠, 감사합니다. 개발자가 자신의 가이드에서 개발자가 간격을 업데이트하도록 허용 할 수 있지만이를 수행 할 방법을 제공하지는 않을 것이라고 Google이 인정한 것은 이상한 일입니다. 핵심 방법을 포기하고 완전히 다른 해결책을 채택하거나 못생긴 kludge를 적용해야합니다. 그렇게 간단한 일을 그렇게 어렵지 않아야합니다. N 개의 업데이트마다 일부 작업 만 수행하는 것이 합당한 방법처럼 보입니다. 어쨌든 AlarmManager를 조사합니다. – drmrbrewer