0

新しいタイル ( TileManager.AddTileAsync) を作成すると、そのタイルが電話の Microsoft Health アプリに表示されません。

さらに、タイル コレクション内のすべてのタイルをループすると (TileManager.GetTilesAsync()その新しいタイルが返される唯一のタイルを使用すると、バンドで提供される既定のタイルは返されません。アプリ次第であると仮定して正しいですか?これらのタイルのストレージ メカニズムとタイル管理を提供するために作成しますか?どこに保存しますか?電話の分離ストレージに?

4

1 に答える 1

2

最新バージョンの Microsoft Health アプリケーションを使用していると仮定すると、バンドに追加されたすべてのカスタム タイルは、アプリケーションの [タイルの管理] ページに「サード パーティ タイル」として表示されますこれにより、タイルを追加したアプリケーションがアンインストールされた場合でも、バンドからタイルを削除できます。アプリケーションによって呼び出されると、IBandTileManager.GetTilesAsync() は、そのアプリケーションによって以前に追加されたタイルのみを列挙します。つまり、アプリケーションは独自のタイルのみを認識し、他のタイルは認識せず、組み込みのタイルも認識しません。

アプリケーションが固定数のカスタム タイルを使用する場合、各カスタム タイルで固定 (静的) タイル ID を使用することをお勧めします (タイルをバンドに追加するときに一意の GUID を生成するのではなく)。これにより、アプリケーションは、他のストレージ メカニズムを使用せずに、バンドがペアリングされている電話に関係なく、各タイルを識別できるようになります。

アプリケーションが動的な数のタイルを生成する場合、明らかに、特定のタイル (ID) とそのタイルによって表されるエンティティとの間のマップを格納する必要があります。

于 2015-03-25T22:01:29.403 に答える