More Related Content
Similar to Windows ストアアプリから使かえるセンサーAPIとデバイスAPI (20)
More from Osamu Monoe (20)
Windows ストアアプリから使かえるセンサーAPIとデバイスAPI
- 4. HTML5 + JavaScript
Windowsストアアプリの構造
ホストプロセス
オペレーティングシステム
アプリ
API
JavaScript
ネイティブAPI
直接呼び出し
(Compiled)
- 6. Windowsランタイムが提供する ハードウェアリソースAPI
•Device
•Bluetooth
•GenericAttributeProfile
•Rfcomm
•Geolocation
•Geofencing
•HumanInterfaceDevice
•PointOfService
•BarcodeScanner
•MagneticStripeReader
•Portable
•Printers
•SmartCards
•Sms
•Windows
•Media
•Networking
•Storage
•Device
•Usb
•WiFiDirect
•Sensors
•Sensors
•Accelerometer
•Compass
•Gyrometer
•Inclinometer
•LightSensor
•Magnetometer
•OrientationSensor
•SimpleOrientationSensor
- 10. 外部接続機器の許可設定 ~appxmanifestファイルに手動で記述~ <Capabilities> <CapabilityName=“internetClient”/> <!--HID デバイスの情報を設定--> <m2:DeviceCapabilityName="humaninterfacedevice"> <m2:DeviceId="any"> <m2:FunctionType="usage:0001 0010"/> </m2:Device> </m2:DeviceCapability> </Capabilities>
Package/Capabilities下にデバイス情報を記述
参考: How to specify device capabilities in a package manifest (Windows Runtime apps)
http://msdn.microsoft.com/en-us/library/windows/apps/xaml/dn263092.aspx
- 11. デバイスへのアクセスの方法 ~「目的」に合わせたそれぞれの専用クラスを使う~
varcapt= Windows.Media.Capture;
//カメラ(撮影)用UI のインスタンスを生成 varcaptUI= newcapt.CameraCaptureUI();
//写真撮影メソッドを実行し、撮影した画像の処理は非同期でおこなう captUI.captureFileAsync(capt.CameraCaptureUIMode.photo).done( function(file) {
//imgタグを追加しsrc属性に撮影した写真を指定 varimg= document.createElement("img"); img.src= URL.createObjectURL(file); document.getElementById("content").appendChild(img); img.style.position= "absolute"; }); });
例) 写真撮影
- 12. 周辺機器へのアクセス ~機器を検出列挙し、ID からインスタンスを生成~
vardeviceInfo = Windows.Devices.Enumeration.DeviceInformation;
vardeviceClass = Windows.Devices.Enumeration.DeviceClass;
//デバイスの一覧を取得
deviceInfo.findAllAsync(deviceClass.all).done(function(deviceInformations) {
//Promise にセットされたコールバックルーチンの引数に一覧がセットされる
varlength = deviceInformations.length;
vardeviceEntry = null;
for(vari = 0; i < length; i++) {
deviceEntry = deviceInformations[i]
console.log(“name:” + deviceEntry.name);
console.log(“id:”+ deviceEntry.id);
}
});