デバイス機能を有効にするEnable device capabilities

このチュートリアルでは、Microsoft Visual Studio でデバイス機能を宣言する方法について説明します。This tutorial describes how to declare device capabilities in Microsoft Visual Studio. カメラ、マイク、位置センサー、その他のデバイスをアプリで使うことができるようにします。This enables your app to use cameras, microphones, location sensors, and other devices.

アプリで使うデバイス機能を指定するSpecify the device capabilities your app will use

Windows アプリでは、特定の種類のデバイスを使う場合にアプリ パッケージ マニフェストに指定する必要があります。Windows apps require you to specify in the app package manifest when you use certain types of devices. Visual Studio では、ほとんどの機能をマニフェスト デザイナーで宣言できます。また、「パッケージ マニフェストでデバイス機能を (手動で) 指定する方法」で説明しているように、機能を手動で追加することもできます。In Visual Studio, you can declare most capabilities by using Manifest Designer or you can add them manually as described in How to specify device capabilities in a package manifest (manually). このチュートリアルでは、マニフェスト デザイナーを使っていることを前提としています。This tutorial assumes you're using Manifest Designer.

  プリンター、スキャナー、センサーなどのデバイスの種類によっては、アプリのパッケージ マニフェストで宣言する必要はありません。Note   Some types of devices, such as printers, scanners, and sensors, don't need to be declared in the app package manifest.

  • Visual Studio のソリューション エクスプローラーで、パッケージ マニフェスト ファイル Package.appxmanifest をダブルクリックします。In Visual Studio Solution Explorer, double-click the package manifest file, Package.appxmanifest.
  • [機能] タブを開きます。Open the Capabilities tab.
  • アプリで使うデバイス機能を選びます。Select the device capabilities that your app uses. マニフェスト デザイナーに目的の機能が表示されない場合は、手動で追加します。If you don't see the capability you're looking for in Manifest Designer, add it manually. 詳しくは、「パッケージ マニフェストでデバイス機能を指定する方法」をご覧ください。For more info, see How to specify device capabilities in a package manifest.
デバイス機能Device Capability マニフェスト デザイナーManifest Designer 説明Description
AllJoynAllJoyn マニフェスト デザイナーで利用できます ネットワーク上の AllJoyn 対応のアプリやデバイスは、相互に検出を行い、対話することができます。Allows AllJoyn-enabled apps and devices on a network to discover and interact with each other. Windows.Devices.AllJoyn 名前空間の API にアクセスするすべてのアプリは、この機能を使う必要があります。App apps that access APIs in the Windows.Devices.AllJoyn namespace must use this capability.
ブロックされたチャット メッセージBlocked Chat Messages マニフェスト デザイナーで利用できます アプリは、スパム フィルターによってブロックされている SMS メッセージや MMS メッセージを読み取ることができます。Allows apps to read SMS and MMS messages that have been blocked by the Spam Filter app.
チャット メッセージ アクセスChat Message Access マニフェスト デザイナーで利用できます アプリはテキスト メッセージの読み取りと削除を実行できます。Allows apps to read and delete Text Messages. また、アプリはチャット メッセージをシステム データ ストアに保存できます。It also allows apps to store chat messages in the system data store.
コード生成Code Generation マニフェスト デザイナーで利用できます アプリはコードを動的に生成することができます。Allows apps to generate code dynamically.
エンタープライズ認証Enterprise Authentication マニフェスト デザイナーで利用できます この機能には Microsoft Store ポリシーが適用されます。This capability is subject to the Microsoft Store policy. ドメイン資格情報を必要とする企業イントラネットのリソースに接続する機能を提供します。It provides the capability to connect to enterprise intranet resources that require domain credentials. 通常、この機能はほとんどのアプリで必要ありません。This capability is not typically needed for most apps.
インターネット (クライアント)Internet (Client) マニフェスト デザイナーで利用できます インターネットや、公共の場所のネットワーク (空港、喫茶店など) への出力方向のアクセスを提供します。Provides outbound access to the Internet and networks in public places like airports and coffee shops. たとえば、ユーザーがパブリックとして指定したイントラネット ネットワークなどです。For example, Intranet networks where the user has designated the network as public. インターネットにアクセスする必要があるほとんどのアプリは、この機能を使います。Most apps that require Internet access should use the capability.
インターネット (クライアント & サーバー)Internet (Client & Server) マニフェスト デザイナーで利用できます インターネットや、公共の場所のネットワーク (空港、喫茶店など) への入力方向と出力方向のアクセスを提供します。Provides inbound and outbound access to the Internet and the networks in public places like airports and coffee shops. この機能は、インターネット (クライアント) のスーパーセットです。This capability is a superset of Internet (Client). この機能が有効な場合は、インターネット (クライアント) を有効にする必要はありません。Internet (Client) doesn't need to be enabled if this capability is also enabled. 重要なポートへの入力方向のアクセスは常にブロックされます。Inbound access to critical ports is always blocked.
LocationLocation マニフェスト デザイナーで利用できます 現在の位置情報にアクセスできるようにします。Provides access to the current location. これは PC 内の GPS センサーのような専用ハードウェアから取得されるか、利用可能なネットワーク情報から導き出されます。This is obtained from dedicated hardware like a GPS sensor in the PC, or derived from available network information.
マイクMicrophone マニフェスト デザイナーで利用できます マイクのオーディオ フィードにアクセスできるようにします。Provides access to the microphone's audio feed. これによって、アプリは接続されたマイクからオーディオを録音できます。This allows the app to record from connected microphones.
音楽ライブラリMusic Library マニフェスト デザイナーで利用できます ローカル PC とホームグループの PC で音楽ライブラリのファイルを追加、変更、削除する機能を提供します。Provides the capability to add, change, or delete files in the Music Library for the local PC and HomeGroup PCs.
3D オブジェクトObjects 3D マニフェスト デザイナーで利用できます ユーザーの 3D オブジェクトへのプログラムによるアクセスを提供します。これによって、ユーザーの操作なしで、ライブラリ内のすべてのファイルを列挙してそれらのファイルにアクセスできます。Provides programmatic access to the user's 3D Objects, allowing the app to enumerate and access all files in the library without user interaction. 通常、この機能は、3D オブジェクト ライブラリ全体にアクセスする必要がある 3D アプリやゲームで使用されます。This capability is typically used in 3D apps and games that need to access the entire 3D Objects library.
通話Phone Call マニフェスト デザイナーで利用できます アプリは、デバイスのすべての電話回線にアクセスし、次の機能を実行できます。ユーザーに確認を求めずに、電話での通話を実行してシステムのダイヤラーを表示します。電話回線に関連するメタデータへアクセスします。電話回線に関連するトリガーへアクセスします。Allows apps to access all of the phone lines on the device and perform the following functions: place a call on the phone and show the system dialer without prompting the user; access line-related metadata; access line-related triggers. ユーザーが選んだスパム フィルター アプリで、禁止一覧と呼び出し元の情報を設定し、確認することができます。Allows the user-selected spam filter app to set and check the block list and call origin information.
画像ライブラリPictures Library マニフェスト デザイナーで利用できます ローカル PC とホームグループの PC で画像ライブラリのファイルを追加、変更、削除する機能を提供します。Provides the capability to add, change, or delete files in the Pictures Library for the local PC and HomeGroup PCs.
POS (店舗販売時点管理)Point of Service マニフェスト デザイナーで利用できます POS 周辺機器へのアクセスを提供します。Provides access to Point of Service peripherals. Windows.Devices.PointOfService 名前空間の API にアクセスする場合は、この機能が必要になります。This capability is required to access APIs in the Windows.Devices.PointOfService namespace.
プライベート ネットワーク (クライアント & サーバー)Private Networks (Client & Server) マニフェスト デザイナーで利用できます 認証済みドメイン コントローラーを備えたイントラネット ネットワーク、またはユーザーがホーム ネットワークや社内ネットワークのどちらかに指定したイントラネット ネットワークへの入力方向と出力方向のアクセスを提供します。Provides inbound and outbound access to Intranet networks that have an authenticated domain controller, or that the user has designated as either home or work networks. 重要なポートへの入力方向のアクセスは常にブロックされます。Inbound access to critical ports is always blocked.
近接通信Proximity マニフェスト デザイナーで利用できます 近距離通信 (NFC) を使って PC の近くにあるデバイスに接続する機能を提供します。Provides the capability to connect to devices in close proximity to the PC via near-field communication (NFC). 近距離近接通信は、近くのデバイスのアプリへのファイルの送信やアプリとの通信に使用できます。Near-field proximity may be used to send files or communicate with an app on the nearby device.
リムーバブル記憶域Removable Storage マニフェスト デザイナーで利用できます リムーバブル記憶装置においてファイルの追加、変更、削除を行う機能を提供します。Provides the capability to add, change, or delete files on removable storage devices. アプリは、ファイルの種類の関連付けの宣言でマニフェストに定義されたリムーバブル記憶域内のファイルの種類にのみアクセスできます。The app can only access the file types on removable storage that are defined in the manifest using the File Type Associations declaration. アプリは、ホームグループ PC 上のリムーバブル記憶域にはアクセスできません。The app can't access removable storage on HomeGroup PCs.
共有ユーザー証明書Shared User Certificates マニフェスト デザイナーで利用できます この機能には Microsoft Store ポリシーが適用されます。This capability is subject to the Microsoft Store policy. ユーザー ID の確認のためにソフトウェア証明書とハードウェア証明書 (スマート カード証明書など) にアクセスする機能を提供します。It provides the capability to access software and hardware certificates, such as smart card certificates, for validating a user's identity. 関連する API が実行時に呼び出されると、ユーザーは、カードの挿入や証明書の選択などのアクションを実行する必要があります。When related APIs are invoked at runtime, the user must take action (insert card, select certificate, etc.). Certificates 宣言を介してアプリにプライベート証明書を追加する場合、この機能は必要ありません。This capability is not necessary if your app includes a private certificate via a Certificates declaration.
ユーザー アカウント情報User Account Information マニフェスト デザイナーで利用できます アプリはユーザーの名前と画像にアクセスできるようになります。Gives apps the ability to access the user's name and picture. Windows.System.UserProfile 名前空間の一部の API にアクセスする場合は、この機能が必要になります。This capability is required to access some APIs in the Windows.System.UserProfile namespace.
ビデオ ライブラリVideos Library マニフェスト デザイナーで利用できます ローカル PC とホームグループの PC でビデオ ライブラリのファイルを追加、変更、削除する機能を提供します。Provides the capability to add, change, or delete files in the Videos Library for the local PC and HomeGroup PCs.
VOIP 呼び出しVOIP Calling マニフェスト デザイナーで利用できます アプリで Windows.ApplicationModel.Calls 名前空間の VOIP 呼び出し API にアクセスできます。Allows apps to access the VOIP calling APIs in the Windows.ApplicationModel.Calls namespace.
Web カメラWebcam マニフェスト デザイナーで利用できます 組み込みのカメラや接続されている Web カメラのビデオ フィードにアクセスできるようにします。Provides access to the built-in camera or attached webcam's video feed. これによって、アプリはスナップショットやムービーをキャプチャできます。This allows the app to capture snapshots and movies.
USBUSB カスタム USB デバイスにアクセスできるようにします。Provides access to custom USB devices. この機能を使うには、子要素が必要です。This capability requires child elements. Windows Phone では、この機能はサポートされていません。This feature is not supported on Windows Phone.
ヒューマン インターフェイス デバイス (HID)Human Interface Device (HID) ヒューマン インターフェイス デバイス (HID) にアクセスできるようにします。Provides access to Human Interface Devices (HID). この機能を使うには、子要素が必要です。This capability requires child elements. 詳しくは、「HID のデバイス機能を指定する方法」をご覧ください。For more info, see How to specify device capabilities for HID.
Bluetooth GATTBluetooth GATT プライマリ サービス、含まれているサービス、特性、記述子のコレクションを介して Bluetooth LE devices にアクセスできるようにします。Provides access to Bluetooth LE devices through a collection of primary services, included services, characteristics, and descriptors. この機能を使うには、子要素が必要です。This capability requires child elements. 詳しくは、「Bluetooth のデバイス機能を指定する方法」をご覧ください。For more info, see How to specify device capabilities for Bluetooth.
Bluetooth RFCOMMBluetooth RFCOMM Basic Rate/Extended Data Rate (BR/EDR) トランスポートをサポートする API にアクセスできるようにし、UWP アプリが Serial Port Profile (SPP) を実装するデバイスにアクセスできるようにします。Provides access to APIs that support the Basic Rate/Extended Data Rate (BR/EDR) transport and also lets your UWP app access a device that implements Serial Port Profile (SPP). この機能を使うには、子要素が必要です。This capability requires child elements. 詳しくは、「Bluetooth のデバイス機能を指定する方法」をご覧ください。For more info, see How to specify device capabilities for Bluetooth.

デバイスとの通信に Windows ランタイム API を使用するUse the Windows Runtime API for communicating with your device

次の表では、上記の機能の一部と Windows ランタイム API を関連付けています。The following table connects some of the capabilities to Windows Runtime APIs.

デバイス機能Device Capability APIAPI
AllJoynAllJoyn Windows.Devices.AllJoynWindows.Devices.AllJoyn
ブロックされたチャット メッセージBlocked Chat Messages Windows.ApplicationModel.CommunicationBlockingWindows.ApplicationModel.CommunicationBlocking
LocationLocation 詳しくは、「マップと位置情報の概要」をご覧ください。See Maps and location overview for more information.
通話Phone Call Windows.ApplicationModel.CallsWindows.ApplicationModel.Calls
ユーザー アカウント情報User Account Information Windows.System.UserProfileWindows.System.UserProfile
VOIP 呼び出しVOIP Calling Windows.ApplicationModel.CallsWindows.ApplicationModel.Calls
USBUSB Windows.Devices.UsbWindows.Devices.Usb
HIDHID Windows.Devices.HumanInterfaceDeviceWindows.Devices.HumanInterfaceDevice
Bluetooth GATTBluetooth GATT Windows.Devices.Bluetooth.GenericAttributeProfileWindows.Devices.Bluetooth.GenericAttributeProfile
Bluetooth RFCOMMBluetooth RFCOMM Windows.Devices.Bluetooth.RfcommWindows.Devices.Bluetooth.Rfcomm
POS (店舗販売時点管理)Point of Service Windows.Devices.PointOfServiceWindows.Devices.PointOfService