0

LiveTilesの更新にバックグラウンドエージェントを使用していません。アプリの終了時とでタイルを更新しApplication_Deactivatedます。

private void Application_Deactivated(object sender, DeactivatedEventArgs e)
    {
        CycleManager pCycMan = CycleManager.Instance;
        pCycMan.WriteToIsolatedStorage();

        ResourceManager resMan = new ResourceManager("xxx.AppResources", Assembly.GetExecutingAssembly());

        ShellTile PrimaryTile = ShellTile.ActiveTiles.First();
        StandardTileData tile = new StandardTileData();

        try
        {
            if (PrimaryTile != null)
            {
                tile.BackTitle = resMan.GetString("liveTileTitle");
                tile.BackBackgroundImage = new Uri("/Background.png", UriKind.Relative);


                if (pCycMan.GetStartDate() == pCycMan.GetDefaultDate())
                {
                    tile.Title = resMan.GetString("liveTileNotTrackingStatus");
                }
                else
                {
                    tile.Title = m_liveTileText;
                }

                PrimaryTile.Update(tile);
            }
        }
        catch(Exception)
        {
        }
    }

そうすることは良い習慣ですか?アプリが公開され、COMExceptionのあるStackTraceを受け取りました。Microsoft.Phone.Shell.ShellTile.Update後の実行時に例外が発生することを示していますXXX.App.Application_Deactivated

誰かがこの例外を知っているか、そのような状況に直面しましたか?誰かがこれについて私を案内してくれると本当に助かります。

4

2 に答える 2

1

イベントが発生したらApplication_Deactivated、10秒以内にタスクを完了してください。その後、アプリケーションは終了します。

したがって、コードが完了するまでに10秒以上かかったためにクラッシュが発生した可能性があります。

于 2012-07-19T13:23:03.863 に答える
0

以前は Application_Deactivated で livetile を更新していましたが、これにより再開に問題が発生したため、その機能を削除しました。

他の誰かが同じ問題を発見し、別の場所で更新しました: http://www.japf.fr/2012/12/updating-the-live-tiles-when-the-exits-wp8-weirdness/

于 2015-04-27T01:08:28.810 に答える