3

そこで、テキスト ファイルをユーザーの SkyDrive アカウントにアップロードする単純な Windows Phone 8 アプリを作成しました。アプリがフォアグラウンドで実行されている間はコードが正常に動作しますが、アプリを閉じているときにテキスト ファイルをアップロードしようとすると、動作しないようです。

WP8 用の Live Connect SDK v5.3 を使用しています。SDK リンク: http://msdn.microsoft.com/en-us/library/live/hh826550.aspx

このコードを使用して、アプリを閉じたとき (ユーザーが電話で「戻るボタン」を押したとき) にバックグラウンド アップロードを実行しています。

protected override void OnBackKeyPress(CancelEventArgs e)
{
    SaveSkyDriveData();
    base.OnBackKeyPress(e);
}

public async Task SaveSkyDriveData()
{
   var res = await client.BackgroundUploadAsync("me/skydrive", new Uri("/shared/transfers/MyData.txt", UriKind.RelativeOrAbsolute), OverwriteOption.Overwrite);
}

アプリを閉じているときにこのコードが機能しない理由はありますか? アプリが閉じられた後でもこれが機能するはずであるとSDKを読みました。バックグラウンドでファイルをアップロードするための SDK リンクは次のとおりです

ありがとう!

4

2 に答える 2

0

シャットダウンする前に状態を保存するのに約10秒しかないため、WPでアプリを閉じている間はファイルをアップロードできません

非アクティブ化中にできるかもしれませんが、タイムスケールが同じであるため、プッシュになります.

より良い解決策は、アップロードするファイルを実行して定期的にチェックするバックグラウンド タスク (スケジュールされたタスク) を用意することです。

ユース ケースに応じた別の方法として、SkyDrive でファイルをホストする必要がある特定の理由がない限り、SkyDrive にアップロードするのではなく、解析 SDK を使用する方法があります。

お役に立てれば

于 2013-07-04T10:16:41.697 に答える