2016-05-15 14 views
0

私は、USBまたはAC充電を介して接続があるかどうかを確認するユニバーサルウィンドウズ電話アプリケーションを開発しています。 私はこのコードを使用しました:USB/AC接続があるか確認してください

var deviceInfo = await DeviceInformation.FindAllAsync(Battery.GetDeviceSelector()); 
    var aggBattery = Battery.AggregateBattery; 
    var report = aggBattery.GetReport(); 

    report.Status.ToString(); 

これは一部のデバイスでうまくいきます。 「充電モード」を検出するのに30秒かかるデバイス(WP8からWP10にアップグレードされたデバイス)はほとんどありません。

+1

ない私がそこにあれば、USB接続を検出する方法を知りたいあなたは –

+0

を求めていることを確認?またはバッテリーのレベルを取得しますか? –

答えて

0

私はそこにUSB接続を検出する方法があるかどうか知りたいですか?

USBデバイスを検出するには、DeviceWatcherオブジェクトを使用して、デバイスがシステムに追加または削除されたときを検出できます。 Device enumeration sample

またはバッテリーレベルを取得します。Windows 10ユニバーサルアプリのために

は、ここで良いサンプルですか?

バッテリクラスは、バッテリレベルを取得する方法を提供しません。

回避策として、BatteryReport.RemainingCapacityInMilliwattHoursを使用して、バッテリの残りの電力容量(ミリワット時)を取得できます。また、完全に充電されたバッテリーのエネルギー容量を得るにはBatteryReport.FullChargeCapacityInMilliwattHoursを使用することができます。その後、BatteryReport.RemainingCapacityInMilliwattHours/BatteryReport.FullChargeCapacityInMilliwattHoursを使用してバッテリレベルを取得することができます。例えば

var deviceInfo = await DeviceInformation.FindAllAsync(Battery.GetDeviceSelector()); 
var aggBattery = Battery.AggregateBattery; 
var report = aggBattery.GetReport().RemainingCapacityInMilliwattHours; 
var report3 = aggBattery.GetReport().FullChargeCapacityInMilliwattHours; 
MyText.Text = (report/(double)report3).ToString(); 
+0

これはまさに私がやることですが、Windows Phone 10(純粋なWP10ではなく)にアップグレードしたデバイスは30秒後にしか充電を検出しません。 –

関連する問題