2010-08-11
Windows Phone 7 beta版のエミュレータでLaunchersとChoosersを試してみた
Microsoft.Phone.Tasks名前空間について調べていたら、日本語では id:shiba-yan のものしか見つけられなったので、カッなって怒涛のごとくエントリした。先週末からの体調不良が祟って頭痛がひどくなっているが、後悔はしていない。
Windows Mobile 6.xは、アドレス帳から特定の個人を選択するようなダイアログは用意されていませんでした。それに比べて、Windows Phone 7ではアドレス帳を扱うのが随分と簡単になりました。
Microsoft.Phone.Tasks名前空間に存在しているOSの標準アプリケーションを呼び出すLauncherと、ファイルを開くダイアログのような形で利用できるChooserを使う事によって、アドレス帳だけではなく携帯電話に関連する機能へのアクセスが簡単に実現することが出来ます。他にも電話を掛けるLauncherや、カメラを撮影したり電話番号を選ぶChooserが用意されています。
Beta版のシミュレータを使って動作確認をしましたが、キチンと動かない場合があります。参照としてMSDNライブラリのURLを貼っていますが、Windows Phone 7のβまたはテクニカルプレビューの情報となっています。新しいバージョンのリリース時に仕様変更されてしまう可能性があります。ご了承下さい。
試してみたLaunchersとChoosersの一覧
- CameraCaptureTask を使ってWindows Phone 7でカメラを撮影する
- EmailAddressChooserTask を使ってWindows Phone 7でアドレス帳から人を選ぶ
- EmailComposeTask を使ってWindows Phone 7でメールを送信する
- MarketplaceLauncher を使ってWindows Phone 7でMarketplaceのコンテンツを操作する:title
- MediaPlayerLauncher を使ってWindows Phone 7でMediaPlayerを操作するComments
- PhoneCallTask を使ってWindows Phone 7で電話を掛ける
- PhoneNumberChooserTask を使ってWindows Phone 7で電話番号を選択する
- PhotoChooserTask を使ってWindows Phone 7で画像を選択するComments
- SaveEmailAddressTask を使ってWindows Phone 7でメールアドレスを保存する
- SavePhoneNumberTask を使ってWindows Phone 7で電話番号を保存する
- SearchTask を使ってWindows Phone 7でウェブ検索をする
- WebBrowserTask を使ってWindows Phone 7でWebBrowserを立ち上げる
CameraCaptureTask を使ってWindows Phone 7でカメラを撮影する
カメラを撮影する事が出来ます。まぁ、Windows Mobileで言うところのCameraCaptureDialog。
private void btnCameraCaptureTask_Click(object sender, RoutedEventArgs e) { var task = new Microsoft.Phone.Tasks.CameraCaptureTask(); task.Show(); }
動かしてみました。
EmailAddressChooserTask を使ってWindows Phone 7でアドレス帳から人を選ぶ
アドレス帳から人を選ぶ事が出来ます。
private void btnEmailAddressChooserTask_Click(object sender, RoutedEventArgs e) { var task = new Microsoft.Phone.Tasks.EmailAddressChooserTask(); task.Show(); }
動かしてみた。
EmailComposeTask を使ってWindows Phone 7でメールを送信する
メールを送信する事が出来ます。
private void btnEmailComposeTask_Click(object sender, RoutedEventArgs e) { var task = new Microsoft.Phone.Tasks.EmailComposeTask() { To = "info@ch3cooh.jp", Subject = "ここにタイトルを書くよ", Body = "ここに本文を書きまする", Cc = "info2@ch3cooh.jp" }; task.Show(); }
MarketplaceLauncher を使ってWindows Phone 7でMarketplaceのコンテンツを操作する
Marketplaceのコンテンツを操作する事が出来ます。
private void btnMarketplaceLauncher_Click(object sender, RoutedEventArgs e)
{
Microsoft.Phone.Tasks.MarketplaceLauncher.Show(
Microsoft.Phone.Tasks.MarketplaceContent.Music,
Microsoft.Phone.Tasks.MarketplaceOperation.Search,
"john");
}
動かしてみた。適当なスペルでいくつか検索してみたけど何も引っかからず。
MediaPlayerLauncher を使ってWindows Phone 7でMediaPlayerを操作する
MediaPlayerを操作する事が出来ます。
ちなみにサンプルのWMVは、MSのサイト(http://support.microsoft.com/kb/316992/ja)から拝借。
private void btnMediaPlayerLauncher_Click(object sender, RoutedEventArgs e) { var task = new Microsoft.Phone.Tasks.MediaPlayerLauncher() { Media = new Uri(@"http://support.microsoft.com/support/mediaplayer/wmptest/samples/new/mediaexample.wmv"), Controls = Microsoft.Phone.Tasks.MediaPlaybackControls.All }; task.Show(); }
動かしてみました。動画とコントロール部分が何故か同時に表示できない現象が発生していたけど、なんとか表示されているみたいです。(ノートPCだからオーバーレイがちゃんと映ってないっぽい?)
PhoneCallTask を使ってWindows Phone 7で電話を掛ける
電話を掛ける事が出来ます。Windows Mobile で言うところのMicrosoft.WindowsMobile.Telephonyクラスですね。
private void btnPhoneCallTask_Click(object sender, RoutedEventArgs e) { var task = new Microsoft.Phone.Tasks.PhoneCallTask() { DisplayName = "酢酸に電話しちゃうよ", PhoneNumber = "123 456 789" }; task.Show(); }
動かしてみました。
PhoneNumberChooserTask を使ってWindows Phone 7で電話番号を選択する
電話番号を選択する事が出来ます。
private void btnPhoneNumberChooserTask_Click(object sender, RoutedEventArgs e) { var task = new Microsoft.Phone.Tasks.PhoneNumberChooserTask(); task.Show(); }
動かしてみました。
PhotoChooserTask を使ってWindows Phone 7で画像を選択する
画像を選択する事が出来ます。Windows Mobile で言うところのSelectPictureDialogですね。
private void btnPhotoChooserTask_Click(object sender, RoutedEventArgs e) { var task = new Microsoft.Phone.Tasks.PhotoChooserTask() { ShowCamera = true, PixelHeight = 640, PixelWidth = 480 }; task.Show(); }
動かしてみた。
SaveEmailAddressTask を使ってWindows Phone 7でメールアドレスを保存する
メールアドレスを保存する事が出来ます。
private void btnSaveEmailAddressTask_Click(object sender, RoutedEventArgs e) { var task = new Microsoft.Phone.Tasks.SaveEmailAddressTask() { Email = "info@ch3cooh.jp" }; task.Show(); }
動かしてみた。
SavePhoneNumberTask を使ってWindows Phone 7で電話番号を保存する
電話番号を保存する事が出来ます。
private void btnSavePhoneNumberTask_Click(object sender, RoutedEventArgs e) { var task = new Microsoft.Phone.Tasks.SavePhoneNumberTask() { PhoneNumber = "1234567890" }; task.Show(); }
動かしてみた。
SearchTask を使ってWindows Phone 7でウェブ検索をする
ウェブ検索をする事が出来ます。
private void btnSearchTask_Click(object sender, RoutedEventArgs e) { var task = new Microsoft.Phone.Tasks.SearchTask() { SearchQuery = "酢酸" }; task.Show(); }
動かしてみました。
WebBrowserTask を使ってWindows Phone 7でWebBrowserを立ち上げる
WebBrowserを立ち上げる事が出来ます。
private void btnWebBrowserTask_Click(object sender, RoutedEventArgs e) { var task = new Microsoft.Phone.Tasks.WebBrowserTask() { URL = "http://ch3cooh.jp/" }; task.Show(); }
動かしてみました。














CH3COOH / Kenji WadaMicrosoft MVP for Device Application Development(Jul 2010 - Jun 2012)