【问题标题】:How to cancel Contacts.SearchAsync before finish the search in WP8如何在 WP8 中完成搜索之前取消 Contacts.SearchAsync
【发布时间】:2015-04-16 13:12:55
【问题描述】:

我正在使用 Contacts.SearchAsync 在 WP8 应用程序中获取所有用户的联系人。 但是我意识到,当用户有很多联系人(比如 1000+)时,这个搜索需要很长时间......

所以,我正在考虑添加一个按钮,以便用户可以选择取消此搜索...

但我找不到任何取消此搜索的方法...

有没有办法在它完成之前取消它?

谢谢

【问题讨论】:

    标签: windows-phone-8 contacts cancellation


    【解决方案1】:

    我没有使用这个,但是有解决方法。

    如果线程被终止,它的所有子线程也会被终止。

    因此,如果你在新线程中运行这个方法,你总是可以终止它。

    【讨论】:

      【解决方案2】:

      我不知道有什么方法可以取消搜索,但另一种方法是忽略搜索的完成。

      void Contacts_SearchCompleted(object sender, ContactsSearchEventArgs e)
      {
         if (!searchWasCancelled)
         {
             // Process the search results
         }
      }
      

      【讨论】:

      • Contacts_SearchCompleted 不是仅在联系人搜索完成后运行吗?
      • 是的,但是 Contacts.SearchAsync 方法异步运行(即在后台),因此您的应用可以继续运行,就好像搜索从未发生过一样。您甚至可以开始第二次搜索(例如,如果您想提供其他条件)并且只处理第二次搜索的结果!
      猜你喜欢
      • 2014-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-06
      • 2015-07-14
      相关资源
      最近更新 更多