酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

Windows PhoneでPictures Hubからアプリケーションを直接起動できるようにする

Pictures Hubのトップページから特定のWindows Phone OS 7.1向けアプリケーションを起動することが出来ます。WMAppManifest.xmlを編集します。

WMAppManifest.xmlのApp要素に子要素を追加する必要があります。まずはソリューションエクスプローラー開いて頂き、Propertiesフォルダを開きます。

f:id:ch3cooh393:20150830154421p:plain

蛍光ペンで線を引いているWMAppManifest.xmlを開きます。App要素の子要素として、以下のようにExtensions要素を追加します。Extensions要素が既に定義されている場合は、Extension要素を追加するだけで問題ありません。なお、ExtensionNameやConsumerIDの値は固定となっていますので、変更しないでください。

<Extensions>
  <Extension ExtensionName="Photos_Extra_Hub" 
    ConsumerID="{5B04B775-356B-4AA0-AAF8-6491FFEA5632}" 
    TaskID="_default" />
</Extensions>

WMAppManifest.xmlの何処にExtensions要素を追加して良いのか分かりづらいという方がいるかもしれません。例としてWMAppManifest.xmlを全文表示します。

<?xml version="1.0" encoding="utf-8"?>

<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2009/deployment" AppPlatformVersion="7.1">
  <App xmlns="" ProductID="[00000000-0000-0000-0000-000000000000}"
       Title="PictureHubWP71Test" RuntimeType="Silverlight"
       Version="1.0.0.0" Genre="apps.normal" 
       Author="author" Description="" Publisher="PictureHubWP71Test">
    <IconPath IsRelative="true" IsResource="false">ApplicationIcon.png</IconPath>
    <Capabilities>
      <Capability Name="ID_CAP_GAMERSERVICES"/>
      <Capability Name="ID_CAP_IDENTITY_DEVICE"/>
      <Capability Name="ID_CAP_IDENTITY_USER"/>
      <Capability Name="ID_CAP_LOCATION"/>
      <Capability Name="ID_CAP_MEDIALIB"/>
      <Capability Name="ID_CAP_MICROPHONE"/>
      <Capability Name="ID_CAP_NETWORKING"/>
      <Capability Name="ID_CAP_PHONEDIALER"/>
      <Capability Name="ID_CAP_PUSH_NOTIFICATION"/>
      <Capability Name="ID_CAP_SENSORS"/>
      <Capability Name="ID_CAP_WEBBROWSERCOMPONENT"/>
      <Capability Name="ID_CAP_ISV_CAMERA"/>
      <Capability Name="ID_CAP_CONTACTS"/>
      <Capability Name="ID_CAP_APPOINTMENTS"/>
    </Capabilities>
    <Tasks>
      <DefaultTask  Name ="_default" NavigationPage="MainPage.xaml"/>
    </Tasks>
    <Tokens>
      <PrimaryToken TokenID="PictureHubWP71TestToken" TaskName="_default">
        <TemplateType5>
          <BackgroundImageURI IsRelative="true" IsResource="false">Background.png</BackgroundImageURI>
          <Count>0</Count>
          <Title>PictureHubWP71Test</Title>
        </TemplateType5>
      </PrimaryToken>
    </Tokens>
    <Extensions>
      <Extension ExtensionName="Photos_Extra_Hub" 
            ConsumerID="{5B04B775-356B-4AA0-AAF8-6491FFEA5632}" 
            TaskID="_default" />
    </Extensions>
  </App>
</Deployment>

ツールバーにある[ビルド]からリビルドを実行しておいてください。アプリをデプロイし、Pictures Hubを確認すると、アプリケーション一覧にPictureHubWP71Testが追加されているのが分かります。

f:id:ch3cooh393:20111022064932j:plain

PictureHubWP71Testの文字がラーメンの画像と被ってしまって、文字が認識しづらくなっていますがご了承ください。