0

Windows Phone 7 を初めて使用します。

私は wp7 でプロジェクトを開発しています。そのプロジェクトでは、60 秒ごとに緯度経度の詳細を Web サービス (asmx) に送信する必要があります。

バックグラウンド サービスがあり、asmx サービスに接続しています。asmx の詳細を更新するときに電話でトースト メッセージを表示する必要がありますが、それができません。助けてください

ここに私のバックグラウンドサービスコードがあります

          protected override void OnInvoke(ScheduledTask task)
               {

        watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.Default);
        watcher.Start();
        string useremail = task.Description.ToString();
        string latitude = watcher.Position.Location.Latitude.ToString();
        string longitude = watcher.Position.Location.Longitude.ToString();

        ServiceReference1.UpdateUserLocationSoapClient obj = new ServiceReference1.UpdateUserLocationSoapClient();
        obj.UpdateUserLocation1Completed += new EventHandler<ServiceReference1.UpdateUserLocation1CompletedEventArgs>(obj_UpdateUserLocation1Completed);
        obj.UpdateUserLocation1Async(useremail, latitude, longitude);   
        // If debugging is enabled, launch the agent again in one minute.
        #if DEBUG_AGENT
        ScheduledActionService.LaunchForTest(task.Name, TimeSpan.FromSeconds(5));
        #endif

        // Call NotifyComplete to let the system know the agent is done working.
        NotifyComplete();
    }

private void obj_UpdateUserLocation1Completed(オブジェクト送信者、ServiceReference1.UpdateUserLocation1CompletedEventArgs e) {

        ShellToast toast = new ShellToast();



        toast.Title = "kk";
        toast.Content = "ss" + e.Result.ToString();
        toast.Show();


    } 
4

1 に答える 1

1

アプリケーションとバックグラウンド エージェントの間で通信するには、Mutex を使用する必要があります。

例 : http://www.31a2ba2a-b718-11dc-8314-0800200c9a66.com/2011/11/this-is-continuation-of-this-post.html

編集: NotifyComplete(); を削除します。OnInvoke から obj_UpdateUserLocation1Completed に入れます

于 2012-05-14T06:50:24.383 に答える