Плитки Microsoft Band

Когда я создаю новую плитку (TileManager.AddTileAsync), эта плитка не отображается в приложении Microsoft Health на телефоне.

Кроме того, если я перебираю все плитки в коллекции плиток (используя TileManager.GetTilesAsync(), эта новая плитка является единственной, которая возвращается - плитки по умолчанию, предоставленные с полосой, не возвращаются. Правильно ли я предполагаю, что это зависит от приложение, которое я создаю, чтобы обеспечить механизм хранения и управление тайлами для этих тайлов? Где его хранить? В изолированном хранилище на телефоне?


person Jim H    schedule 23.03.2015    source источник


Ответы (1)


Предполагая, что у вас установлена ​​последняя версия приложения Microsoft Health, все настраиваемые плитки, добавленные в полосу, должны быть перечислены как «сторонние плитки» на странице «Управление плитками» приложения. Это гарантирует, что плитки могут быть удалены из полосы, даже если приложение, которое добавило плитку, было удалено. При вызове приложением IBandTileManager.GetTilesAsync() будет перечислять только плитки, которые ранее были добавлены этим приложением. То есть приложения будут видеть только свои собственные плитки и никакие другие, а также не будут видеть встроенные плитки.

Если приложение использует фиксированное количество пользовательских плиток, я бы рекомендовал, чтобы каждая пользовательская плитка использовала фиксированный (т. е. статический) идентификатор плитки (в отличие от создания уникального GUID при добавлении плитки в полосу). Это гарантирует, что приложение сможет идентифицировать каждую из своих плиток без использования какого-либо другого механизма хранения и независимо от телефона, с которым связан браслет.

Если приложение генерирует динамическое количество плиток, то, очевидно, оно должно хранить карту между определенной плиткой (ID) и сущностью, представленной этой плиткой.

person Phil Hoff -- MSFT    schedule 25.03.2015
comment
у меня похожая проблема: stackoverflow.com/questions/29660137/ Вы говорите, что прежде чем какое-либо стороннее приложение сможет создать плитку на полосе, пользователь должен добавить ее в здоровье Майкрософт? Я пытался искать там, но я не мог найти ничего о тайлах сторонних производителей. - person DevilInDisguise; 20.05.2015
comment
Нет, любое данное приложение может добавить одну (или несколько) плитку в полосу (с согласия пользователя). Однако только приложение, которое добавило данную плитку, может обновить или удалить эту плитку. Единственным исключением является то, что все плитки, добавленные в полосу (любым приложением), будут отображаться в приложении Microsoft Health (перечислены в списке сторонних плиток). (Причина этого заключается в том, чтобы разрешить удаление приложения, даже если приложение, которое добавило плитку, было удалено.) - person Phil Hoff -- MSFT; 21.05.2015