Windows Phone 8とRoaming

Windows Phone 8は、Windows 8と一部のAPIが共通なので、
Windows Phone SDKが公開される前から期待してた機能がありました。
しかし、公開されたAPIリファレンスを見て、
その期待があっという間に崩れ去った…それは、ローミング機能。

Windows 8ストアアプリでは、複数のPC・スレート間でアプリケーションの情報を共有して、
状態を同期させることができます。これはローミング機能と呼ばれて、
例えば、デスクトップPCで読みかけの電子書籍を、外に持ち出したスレートPCで続きを読むってことができる訳です。

このWindows 8ストアアプリのローミング機能は、

:::C#
Windows.Storage.ApplicationData.Current.RoamingSettings.Values[“LastPage”] = 10;

のようにWindows.Storage.ApplicationDataクラスを経由して、
ローミングしたい設定値を登録することで自動的に実行されます。

それで、Windows Phone 8 SDKが公開されて、このApplicationDataクラスが存在するか調べたら…

ApplicationData.RoamingSettings | roamingSettings property (Windows)

APIのサポート対象一覧

おおっ!サポートされている電話機にWindows Phone 8があるではないか!

ところが、本文をよく読むと、Remarksのところに一言こんな記述が。

APIの注意書き

「Windows Phone 8:APIは実装されていません。呼ばれたら例外を投げます」

… orz

サポートされてる電話機だけど、実装してないってのはないですよね…

結局、Windows Phone 8ではローミング機能は使えないと判ったのですが、
冷静に考えるとWindowsストアアプリとWindows Phoneアプリは別物で
相互にローミングできる訳ではないですし、複数のWindows Phone端末を
持っていてその間でローミングしたいって需要はそう大きくないので、
実装されていなくてもおかしくはないのかもしれません。

アプリをWindowsストアアプリとWindows Phoneアプリの両方にリリースして、
相互にアプリケーションの状態を同期させたい需要はあると思いますが、
現時点ではSkyDriveを経由して自前で同期させるしかなさそうです。

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.