ユニバーサル Windows プラットフォーム アプリのデバイス機能を有効にする

このトピックでは、microsoft Visual Studio でデバイス機能を宣言して、ユニバーサル Windows プラットフォーム (UWP) アプリにカメラ、マイク、位置センサー、その他のデバイスを使用する方法について説明します。

アプリで使用するデバイス機能を指定する

Windows アプリでは、特定の種類のデバイスを使用する場合に、アプリ パッケージ マニフェストで指定する必要があります。 Visual Studio では、マニフェスト デザイナーを使用してほとんどの機能を宣言するか、「パッケージ マニフェストでデバイス機能を指定する方法 (手動)」の説明に従って手動で追加できます。 このチュートリアルでは、マニフェスト デザイナーを使用していることを前提としています。

Note

注 プリンター、スキャナー、センサーなどのいくつかのデバイスの種類は、アプリ パッケージ マニフェストで宣言する必要はありません。

  • ソリューション エクスプローラーで、Package.appxmanifest ファイルをダブルクリックします。
  • [機能] タブを開きます。
  • アプリでデバイス機能を選択します。 マニフェスト デザイナーで探している機能が表示されない場合は、手動で追加します。 詳細については、「パッケージ マニフェストで機能を指定する方法」を参照してください。
デバイス機能 マニフェスト デザイナー 説明
AllJoyn マニフェスト デザイナーで使用できる ネットワーク上のAllJoyn対応アプリとデバイスが相互に検出して対話できるようにします。 Windows.Devices.AllJoyn 名前空間の API にアクセスするすべてのアプリは、この機能を使う必要があります。
ブロックされたチャット メッセージ マニフェスト デザイナーで使用できる スパム フィルター アプリによってブロックされた SMS メッセージと MMS メッセージをアプリが読み取ることを許可します。
チャット メッセージ アクセス マニフェスト デザイナーで使用できる アプリでテキスト メッセージの読み取りと削除を行うことができます。 また、アプリはメッセージをシステム データ ストアに格納できます。
コード生成 マニフェスト デザイナーで使用できる アプリでコードを動的に生成できるようにします。
エンタープライズ認証 マニフェスト デザイナーで使用できる この機能は、Microsoft Store ポリシーの対象となります。 これにより、ドメイン資格情報を必要とするエンタープライズ イントラネット リソースに接続する機能が提供されます。 通常、この機能はほとんどのアプリでは必要ありません。
インターネット (クライアント) マニフェスト デザイナーで使用できる 空港や喫茶店などの公共の場で、インターネットやネットワークへのアウトバウンドアクセスを提供します。 たとえば、ユーザーがネットワークをパブリックとして指定したイントラネット ネットワークなどです。 インターネットにアクセスする必要があるほとんどのアプリは、この機能を使います。
インターネット (クライアントとサーバー) マニフェスト デザイナーで使用できる 空港や喫茶店などの公共の場で、インターネットやネットワークへのインバウンド/アウトバウンドアクセスを提供します。 この機能は、インターネット (クライアント) の スーパーセットです。 この機能も有効になっている場合は、インターネット (クライアント) を有効にする必要はありません。 重要なポートへの入力方向のアクセスは常にブロックされます。
場所 マニフェスト デザイナーで使用できる ユーザーの現在の場所にアクセスできるようにします。 これは、PCのGPSセンサーなどの専用ハードウェアから取得されるか、利用可能なネットワーク情報から取得されます。
マイク マニフェスト デザイナーで使用できる マイクのオーディオ フィードにアクセスできるようにします。 これにより、アプリは接続されたマイクから録音できます。
音楽ライブラリ マニフェスト デザイナーで使用できる ローカル PC および HomeGroup PC のミュージック ライブラリ内のファイルを追加、変更、または削除する機能を提供します。
オブジェクト 3D マニフェスト デザイナーで使用できる ユーザーの 3D オブジェクトへのプログラムによるアクセスを提供し、アプリはユーザーの操作なしでライブラリ内のすべてのファイルを列挙してアクセスできるようにします。 通常、この機能は、3D オブジェクト ライブラリ全体にアクセスする必要がある 3D アプリやゲームで使用されます。
電話​​ マニフェスト デザイナーで使用できる アプリがデバイス上のすべての電話回線にアクセスし、電話で電話をかけ、ユーザーにプロンプトを表示せずにシステム ダイヤラーを表示する機能の実行を許可します。回線関連のメタデータにアクセスする。回線関連のトリガーにアクセスします。 ユーザーが選んだスパム フィルター アプリで、禁止一覧と呼び出し元の情報を設定し、確認することができます。
画像ライブラリ マニフェスト デザイナーで使用できる ローカル PC および HomeGroup PC の画像ライブラリでファイルを追加、変更、または削除する機能を提供します。
POS (店舗販売時点管理) マニフェスト デザイナーで使用できる ポイント オブ サービス周辺機器へのアクセスを提供します。 Windows.Devices.PointOfService.Provider 名前空間の API を呼び出す場合は、この機能が必要になります。
プライベート ネットワーク (クライアントとサーバー) マニフェスト デザイナーで使用できる ユーザーによってホーム ネットワークまたは社内ネットワークとして指定されたイントラネット ネットワークへの入力方向および出力方向のアクセスを提供します (ネットワークに認証されたドメイン コントローラーがある場合)。 重要なポートへの入力方向のアクセスは常にブロックされます。
近接 マニフェスト デザイナーで使用できる 近距離通信 (NFC) を介して PC に近接するデバイスに接続する機能を提供します。 近距離近接通信は、近くのデバイス上のアプリケーションに接続したりデータを送ったりするときに使われます。
リムーバブル ストレージ マニフェスト デザイナーで使用できる リムーバブル 記憶域デバイス上のファイルを追加、変更、または削除する機能を提供します。 アプリは、ファイルの種類の関連付け宣言を使用してマニフェストで定義されているリムーバブル 記憶域上のファイルの種類にのみアクセスできます。 アプリは、 HomeGroupPC 上のリムーバブル 記憶域にアクセスできません。
共有ユーザー証明書 マニフェスト デザイナーで使用できる この機能は、Microsoft Store ポリシーの対象となります。 ユーザーの ID を検証するために、スマート カード証明書などのソフトウェア証明書とハードウェア証明書にアクセスする機能が提供されます。 関連する API が実行時に呼び出されると、ユーザーはアクションを実行する必要があります (カードの挿入、証明書の選択など)。 アプリに証明書宣言を介してプライベート証明書が含まれている場合、この機能は必要ありません。
ユーザー アカウント情報 マニフェスト デザイナーで使用できる アプリがユーザーの名前と画像にアクセスできるようにします。 Windows.System.UserProfile 名前空間の一部の API にアクセスする場合は、この機能が必要になります。
ビデオ ライブラリ マニフェスト デザイナーで使用できる ローカル PC および HomeGroup PC のビデオ ライブラリ内のファイルを追加、変更、または削除する機能を提供します。
VOIP 通話 マニフェスト デザイナーで使用できる voipCall 機能を使用すると、アプリは Windows.ApplicationModel.Calls 名前空間の VoIP 通話 API にアクセスできます。
Web カメラ マニフェスト デザイナーで使用できる 組み込みのカメラまたは接続されている Web カメラのビデオ フィードへのアクセスを提供します。 これにより、アプリはスナップショットや映画をキャプチャできます。
USB カスタム USB デバイスへのアクセスを提供します。 この機能には子要素が必要です。 この機能は現在、Windows スマートフォン でサポートされていません。
ヒューマン インターフェイス デバイス (HID) ヒューマン インターフェイス デバイス (HID) へのアクセスを提供します。 この機能には子要素が必要です。 詳しくは、「HID のデバイス機能を指定する方法」をご覧ください。
Bluetooth GATT 主要なサービス、含まれているサービス、特性、記述子のコレクションを介して Bluetooth LE デバイスへのアクセスを提供します。 この機能には子要素が必要です。 詳しくは、「Bluetooth のデバイス機能を指定する方法」をご覧ください。
Bluetooth RFCOMM Basic Rate/Extended Data Rate (BR/EDR) トランスポートをサポートする API へのアクセスを提供し、UWP アプリがシリアル ポート プロファイル (SPP) を実装するデバイスにアクセスできるようにします。 この機能には子要素が必要です。 詳しくは、「Bluetooth のデバイス機能を指定する方法」をご覧ください。

Windows ランタイム API を使用してデバイスと通信する

次の表は、一部の機能を Windows ランタイム API に接続したものです。

デバイス機能 API
AllJoyn Windows.Devices.AllJoyn
ブロックされたチャット メッセージ Windows.ApplicationModel.CommunicationBlocking
場所 詳細については、場所と地図概要 を参照してください
電話​​ Windows.ApplicationModel.Calls
ユーザー アカウント情報 Windows.System.UserProfile
VOIP 通話 Windows.ApplicationModel.Calls
USB Windows.Devices.Usb
HID Windows.Devices.HumanInterfaceDevice
Bluetooth GATT Windows.Devices.Bluetooth.GenericAttributeProfile
Bluetooth RFCOMM Windows.Devices.Bluetooth.Rfcomm
POS (店舗販売時点管理) Windows.Devices.PointOfService