2

라이브 타일이있는 간단한 캘린더 앱을 개발하려고하지만 배터리 절약 모드에서 백그라운드 에이전트가 실행되지 않고 현재 날짜와 요일로 업데이트 된 라이브 타일을 가질 수 없습니다.배터리 절약 기능이 켜져 있어도 Windows Phone의 캘린더 앱이 라이브 타일을 어떻게 업데이트합니까?

배터리 세이버 모드에서도 캘린더 (타사 앱)가이 문제를 겪지 않는 것으로 나타났습니다.

퍼스트 파티 앱이되는 특별한 주의력이나 기능이 있습니까? 아니면 아직 모르는 속임수가 있습니까?

+0

타사 앱에 대한 제한 사항이라고 가정합니다. 배터리 절약 기능을 켜면 앱이 자주 업데이트되는 것을 원하지 않습니다. – lhan

답변

2

내장 (또는 시스템) 앱은 타사 앱과 동일한 방식으로 제제되지 않습니다. ...이 윈도우 폰에이 많은 사례가 있지만 두 눈에 보이는 사람은

  • (당신이 언급 한) 배터리 세이버가 켜져 심지어 라이브 타일을 업데이트하는 캘린더 응용 프로그램.

  • 순차적으로 회전하는 많은 작은 타일을 가진 People Hub Live Tile - 개발자는 라이브 타일 템플릿에 액세스 할 수 없습니다.

  • 사진 허브 라이브 타일은 패닝 애니메이션을 사용하여 사진을 표시하며 개발자는 사용할 수 없습니다.

예상대로 PeriodicTask이 실행되지 않는 경우 앱이 PeriodicTask마다의 상태를 확인뿐만 아니라 실행하면, 당신은 단순히 타일을 업데이트해야 할 거 야 '수정'이 없기 때문에.

+0

감사합니다. 나는 이것을 의심했지만 물어 보는 것이 낫다고 생각했습니다. 제 해결 방법은 타일에 타일을 렌더링하는 날을 신중하게 작성하는 것입니다 (타일이 8 월 2 일에 생성 된 경우 "금, 2"처럼). 그러나 이것은 UI 스레드에서 실행해야하는 WriteableBitmapEx로 이어졌으며 백그라운드 에이전트에서 Dispatcher.BeginInvoke를 실행해야했습니다. 이 마지막 비트는 내가 UI 주스를 사용자로부터 훔치고 있기 때문에 짜증납니다 ... 어쩌면 이것은 미래의 질문의 주제가 될 것입니다 ... –

+2

iOS는 비슷합니다. 시스템 앱은 타사 앱으로는 할 수없는 특별한 일을 할 수 있습니다 - 캘린더와 시계 app (iOS 7)은 아직 다른 앱에서 아이콘을 업데이트 할 수 없습니다. 두 번째 질문에 대해서는 배경 에이전트의 UI 스레드로 파견하는 것이 별 문제가되지 않는다고 간단히 말할 것입니다. 걱정하지 않아도됩니다. 메모리 제한을 유지하는 것은 항상 문제입니다. 특히 WP7에서는 더욱 그렇습니다. –