SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

速習 Windowsストアアプリケーション

Windowsストアアプリのコントラクトの基礎
――ファイルのアクティブ化拡張機能ほか

速習 Windowsストアアプリケーション 第6回

  • X ポスト
  • このエントリーをはてなブックマークに追加

アカウント画像プロバイダー拡張機能

アカウント画像プロバイダー拡張機能の概要

 アカウント画像プロバイダー拡張機能を利用すると、ストアアプリを通してユーザーのアカウント画像を変更できます。

アカウントの画像選択の対象に登録する
アカウントの画像選択の対象に登録する

 アカウントの画像には、画像以外にも動画を指定することができます。

 画像や動画を編集するストアアプリの機能として、アカウント画像プロバイダー拡張機能に対応させるといった対応が考えられます。

アカウント画像プロバイダー拡張機能の実装

Package.appxmanifestの編集

 プロトコルのアクティブ化拡張機能を追加するには、まずPackage.appxmanifestを編集します。

 宣言タブの「使用可能な宣言」で「アカウントの画像プロバイダーを」を追加します。

App.xaml.csに起動時のイベントハンドラーを追加

 続いて、App.xaml.csに起動時のイベントを記述します。

プロトコルから起動された際の初期化処理
// アカウント画像プロバイダー拡張機能の呼び出しの場合起動はOnActivatedが呼び出される
protected async override void OnActivated(IActivatedEventArgs args)
{
    if (args.Kind == ActivationKind.Protocol)
    {
        var protocolArgs = (ProtocolActivatedEventArgs)args;

        // アカウント画像プロバイダー拡張機能の呼び出しの場合以下のSchemeが指定されてくる
        if (protocolArgs.Uri.Scheme == "ms-accountpictureprovider")
        {
            // ファイルを選択してもらう
            FileOpenPicker picker = new FileOpenPicker
            {
                ViewMode = PickerViewMode.Thumbnail,
                SuggestedStartLocation = PickerLocationId.PicturesLibrary,
                FileTypeFilter = { ".jpg", ".jpeg", ".png", ".bmp" }
            };

            StorageFile imageFile = await picker.PickSingleFileAsync();
            if (imageFile != null)
            {
                SetAccountPictureResult result = await UserInformation.SetAccountPicturesAsync(null, imageFile, null);
            }
        }
    }
}

 アカウント画像は、UserInformationクラスのSetAccountPicturesAsyncメソッドで保存できます。

 引数は1つ目から「小さいイメージ画像」「大きいイメージ画像」「動画ファイル」を、それぞれ指定できます。

カメラの設定拡張機能

カメラの設定拡張機能の概要

 ガメラの設定拡張機能は、カメラデバイスを用いて画像を撮影する際などにデバイス固有の機能を提供するための拡張機能です。主にデバイスを提供するハードウェアメーカー向けの機能なので、本記事では紹介しませんが、興味がある方は以下の資料を参照ください。

印刷タスク拡張機能

印刷タスク拡張機能の概要

 印刷タスク拡張機能は、印刷の際にデバイス固有の機能を提供するための拡張機能です。カメラの設定拡張機能と同様に、ハードウェアに紐づいたつくりとなっています。よって、ハードウェアメーカー向けの機能と言えますので本記事では紹介しませんが、興味がある方は以下の資料を参照ください。

SSL/証明書拡張機能

SSL/証明書拡張機能の概要

 SSL/証明書拡張機能を利用することで、ストアアプリに証明書を埋め込んでSSL経由での通信を行うことができます。

ゲームエクスプローラー拡張機能

ゲームエクスプローラー拡張機能の概要

 ストアアプリにゲームを登録する場合、ゲームの評価を定義したメタデータを提供します。メタデータはゲーム定義ファイル(GDF)として指定します。

 GDFファイルの作成については、以下のURLを参考にしてください。

まとめ

 今回までの全3回にわたってコントラクトについて紹介してきました。コントラクトはストアアプリの特徴的な機能であり、有効に利用することでストアアプリに簡単に連携機能を追加することができます。ぜひ、コントラクトを利用して、自分のアプリだけでなくほかのアプリと連携してお互いの価値を高めるようにしてみてください。

 次回は画像や動画を扱うメディア操作について紹介する予定です。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
速習 Windowsストアアプリケーション連載記事一覧

もっと読む

この記事の著者

西村 誠(ニシムラ マコト)

 Microsoft MVP Windows Platform Development。 Flash、PHPの開発経験もあり国産ECサイト構築フレームワーク「EC-CUBE」の公式エバンジェリストでもある。 ブログ:眠るシーラカンスと水底のプログラマー 著書:基礎から学ぶ Windowsストアアプリ開発

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6975 2013/02/05 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング