2016-11-25 5 views
0

ITNOA私は、Windows 10のモバイルアプリ(UWP)の最後の通話履歴のエントリを取得したいUWP

の最後の通話履歴のエントリを取得し、私は以下のような高コストのアプローチでそれを行うことができます。私は最後の呼び出しをしたいので、私は、私はこのために高いコストを払っていると私は不必要に19コールを取得考えるとき

PhoneCallHistoryStore phoneCallHistoryStore = await PhoneCallHistoryManager.RequestStoreAsync(PhoneCallHistoryStoreAccessType.AllEntriesLimitedReadWrite); 
PhoneCallHistoryEntryReader phoneCallHistoryEntryReader = phoneCallHistoryStore.GetEntryReader(); 
IReadOnlyList<PhoneCallHistoryEntry> phoneCallHistoryEntries = await phoneCallHistoryEntryReader.ReadBatchAsync(); 
PhoneCallHistoryEntry lastPhoneCallHistoryEntry = phoneCallHistoryEntries.FirstOrDefault(); 

あなたは、実行ごとにこのアプローチを知っているとGetting call history returns only last 20 logsに説明したように20回のコールを取得します。

これ以上のアプローチはありますか?

+0

"ITNOA"とは何ですか?あなたの業績目標は何ですか?そして、現在のAPIがこれらのgoasをどのくらい離れていますか? –

+0

あなたの応答のために@ PeterTorr-MSFT thx、私は20の通話履歴を得ることなく、最後の通話履歴を得ることができると思います。私は、この質問に、もし存在するならば、通話履歴を得るためのよりよいアプローチを見つけるよう求めます。 –

+1

PhoneCallHistoryStoreに直接問い合わせることができればいいと思います。すべての通話履歴を取得してフィルタリングするのではなく、正確な通話履歴の結果を取得するカスタムフィルタを適用します。パフォーマンスが向上します。しかしこの主題はこの質問とは直接関係していない。 –

答えて

0

エントリを取得するには、一度に複数の呼び出しを取得することが唯一の方法です。メソッドが遅すぎると思われる場合は、フィードバックハブの「開発者」カテゴリからフィードバックを送信できます。しかし、それが遅すぎると判断する前に、あなたのシナリオにとって「十分に速い」ものを定義し、プロファイラーでゴールに対してコードを測定し、このAPIが原因で遅くなっているかどうかを確認する必要があります。

関連する問題