「Windows Phone Advent Calendar "ひとり" 2011」第22日目です。 (遅延実行中です)
Windows Phone プラットフォームとして一貫したユーザーエクスペリエンスを提供する為に、Windows Phone端末内のデータの取得および設定に関しては、Launcher(ランチャー)を使用する事が推奨されています。
今日は、過去に書いたランチャーで出来ることをまとめてみました。
-http://ch3cooh.jp/windows-phone/wp-launcher-chooser/disp-bingmaps-directions-wp/ -http://ch3cooh.jp/windows-phone/wp-launcher-chooser/disp-bingmap-wp/ -http://ch3cooh.jp/windows-phone/wp-launcher-chooser/show-application-detail-wp/ -http://ch3cooh.jp/windows-phone/wp-launcher-chooser/startup-marketplace-wp/ -http://ch3cooh.jp/windows-phone/wp-launcher-chooser/show-marketplace-review-wp/ -http://ch3cooh.jp/windows-phone/wp-launcher-chooser/search-marketplace-wp/ -http://ch3cooh.jp/windows-phone/wp-launcher-chooser/play-media-launcher-wp/ -http://ch3cooh.jp/windows-phone/wp-launcher-chooser/call-telephone-wp/ -Windows PhoneでShareStatusTaskを使ってステータスを共有する - 酢ろぐ! -http://ch3cooh.jp/windows-phone/wp-launcher-chooser/share-status-task-wp/ -http://ch3cooh.jp/windows-phone/wp-launcher-chooser/show-webpage-wp/
** SearchTaskを使ってウェブ検索をおこなう
今まで紹介出来ていなかったランチャーに関しては下記に追加しています。
SearchTaskは、ウェブ検索を行うランチャーです。 SearchTaskクラスのShowメソッドを実行すると、bingアプリを起動し検索結果を表示します。
検索を行うにはSearchQueryプロパティに検索キーワードを入力しておく必要があります。SearchQueryプロパティを入力せずにShowメソッドを実行すると、検索結果にはニュースが表示されました。
|cs| using System; using System.Windows; using Microsoft.Phone.Controls; using Microsoft.Phone.Tasks;
namespace SearchTaskTest { public partial class MainPage : PhoneApplicationPage { // コンストラクター public MainPage() { InitializeComponent(); }
private void button1_Click(object sender, RoutedEventArgs e) {
var task = new SearchTask();
try {
task.SearchQuery = "酢ろぐ";
task.Show();
} catch (InvalidOperationException ex) {
MessageBox.Show(ex.Message);
}
}
}
} ||<
** ConnectionSettingsTaskを使ってネットワークの接続設定をおこなう
ConnectionSettingsTaskは、ネットワークの接続設定を行うランチャーです。 ConnectionSettingsTaskクラスのShowメソッドを実行すると、ConnectionSettingsTypeプロパティの設定値に応じて、それぞれ設定アプリでのネットワーク接続設定ダイアログを表示します。
ConnectionSettingsTypeプロパティに設定可能な値を列挙してみました。
|設定値|説明| |WiFi|Wi-Fi 設定| |Bluetooth|Bluetooth 設定| |Cellular|携帯ネットワーク設定| |AirplaneMode|フライト モード設定|
ConnectionSettingsTypeプロパティにConnectionSettingsType.WiFiを設定したのちに、Showメソッドを実行しています。
|cs| using System; using System.Windows; using Microsoft.Phone.Controls; using Microsoft.Phone.Tasks;
namespace ConnectionSettingsTaskTest { public partial class MainPage : PhoneApplicationPage { // コンストラクター public MainPage() { InitializeComponent(); }
private void button1_Click(object sender, RoutedEventArgs e) {
var task = new ConnectionSettingsTask();
try {
// Wi-Fi設定ダイアログを表示する
task.ConnectionSettingsType = ConnectionSettingsType.WiFi;
task.Show();
} catch (InvalidOperationException ex) {
MessageBox.Show(ex.Message);
}
}
}
} ||<
** EmailComposeTaskを使ってEメールを送信する
EmailComposeTaskは、Eメールを送信するランチャーです。 EmailComposeTaskクラスのShowメソッドを実行すると、メールアプリを起動しメール送信画面を表示します。
ただし、Windows Phone EmulatorでEmailComposeTaskを実行すると例外が発生する可能性があります。テストは実機上で行う必要があります。
ToプロパティやSubjectプロパティにテキストを設定しておくと、あらかじめ起動されるメール送信画面に情報が入力された状態で表示する事が出来ます。
|cs| using System; using System.Windows; using Microsoft.Phone.Controls; using Microsoft.Phone.Tasks;
namespace EmailComposeTaskTest { public partial class MainPage : PhoneApplicationPage { // コンストラクター public MainPage() { InitializeComponent(); }
private void button1_Click(object sender, RoutedEventArgs e) {
var task = new EmailComposeTask();
try {
// Toプロパティには宛先を設定します
task.To = "ch3cooh393@gmail.com";
// Subjectプロパティにはメッセージのタイトルを設定します
task.Subject = "Hello Windows Phone";
// Bodyプロパティにはメッセージの本文を設定します
task.Body = "Message";
task.Show();
} catch (InvalidOperationException ex) {
MessageBox.Show(ex.Message);
}
}
||<
** SmsComposeTaskを使ってSMSを送信する
SmsComposeTaskは、SMSを送信するランチャーです。 SmsComposeTaskクラスのShowメソッドを実行すると、メールアプリを起動しメッセージ送信画面を表示します。
ただし、Windows Phone EmulatorでSmsComposeTaskを実行しSMSを送信する部分まで実行出来たかのように見えますが、これは不正なダミーのSIMカードが使用されているため実際にメッセージは送信出来ておりません。メッセージの送信を含めてのテストを行う場合、実機上で行う必要があります。
ToプロパティやBodyプロパティにテキストを設定しておくと、あらかじめ起動されるメッセージ送信画面に情報が入力された状態で表示する事が出来ます。
|cs| using System; using System.Windows; using Microsoft.Phone.Controls; using Microsoft.Phone.Tasks;
namespace SmsComposeTaskTest { public partial class MainPage : PhoneApplicationPage { // コンストラクター public MainPage() { InitializeComponent(); }
private void button1_Click(object sender, RoutedEventArgs e) {
var task = new SmsComposeTask();
try {
// Toプロパティには宛先を設定します
task.To = "123-456-789";
// Bodyプロパティにはメッセージの本文を設定します
task.Body = "Message";
task.Show();
} catch (InvalidOperationException ex) {
MessageBox.Show(ex.Message);
}
}
}
} ||<