2017-05-20 22 views
1

Windows 10 Mobile Enterpriseを実行するエンベデッドリングスキャナと外部リングスキャナーの両方を使用するHoneywell Dolphin 75eデバイス用のアプリケーションを正常に作成しました。ClaimedBarcodeScanner.DataReceived()イベントがWebViewコントロール(UWP)のキーボード入力として

インターネット上のUWPでバーコードスキャナを処理する方法については、たくさんのresourcesがあります。

private async void ScenarioStartScanButton_Click(object sender, RoutedEventArgs e) 
{ 
    // Add a data receive event handler. 
    claimedScanner.DataReceived += claimedScanner_DataReceived; 
} 

async void claimedScanner_DataReceived(ClaimedBarcodeScanner sender, BarcodeScannerDataReceivedEventArgs args) 
{ 
    // Update the UI with the data received from the scan. 
    await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,() => 
    { 
     // Read the data from the buffer and convert to string. 
     var scanDataLabelReader = DataReader.FromBuffer(args.Report.ScanDataLabel); 
     ScenarioOutputScanDataLabel.Text = scanDataLabelReader.ReadString(args.Report.ScanDataLabel.Length); 

     var scanDataReader = DataReader.FromBuffer(args.Report.ScanData); 
     ScenarioOutputScanData.Text = scanDataReader.ReadString(args.Report.ScanData.Length); 

     ScenarioOutputScanDataType.Text = BarcodeSymbologies.GetName(args.Report.ScanDataType); 

    }); 
} 

しかし、私に必要なのは私のWebView制御上のキーボードのように動作するスキャナです::しかし、それらをオフにすべてがそうのようないくつかのテキストベースのユーザ・コントロールにスキャンしている

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
    <WebView Source="http://google.co.uk"/> 
</Grid> 

Iドン私のアプリでスキャナーを明示的に使用してはいけません。また、どのアプリでもそうであるようにデフォルトのままにしておくと、スキャナは私がWebViewに必要なものを行います。しかし、私はアプリケーション内で別のスキャナを割り当て/要求しなければならないので、キーボードのように動作させる必要があります。つまり、WebViewの中のユーザー入力フィールドにフォーカスがあると、入力をスキャンします。

Here URL(検索語)のパラメータだけがスキャンごとに異なる必要があったため、解決するのは簡単でしたが、同様の質問がありました。

UPDATE:私はまた回避策について考えていたので、私のアプリはスキャナーを主張し、アプリを離れるときにもそれを保持します。その場合、ブラウザを開いて自分のWebアプリケーションに移動して、希望するスキャナを使用することができます。残念ながら、私がアプリを離れると、埋め込まれたスキャナ以外のすべてが破棄されるようです。たとえ明示的に処分していないとしても。

ハニーウェル提供のテストアプリケーションは、いずれも請求を保持していないようです。

+0

私は主張されたバーコードスキャナに精通していません。しかし、あなたがHoneywell Dolphin 75eデバイスに問題がある場合は、Honeywellの技術サポートに連絡することをお勧めします。彼らはあなたに迅速かつ専門的な助言を与えるべきです。 – Scavenger

+0

私はPOSとウェッジモードの間で選択する必要がある請求されたデバイスにXMLスキャンプロファイルをロードする必要があるように見えます。成功の場合に回答を投稿します。 – Donatas

答えて

1

私は今どのように動作しているかわかりました。私が必要とするのは、スキャナーをデフォルトのウェッジモードからPOSモードにするため、特定のスキャナーを要求して有効にするアプリケーションを作成する必要はありません。

これらの2つのモードの違いは、Dolphin 75e user guideに記載されています。

Windows 10を実行しているDolphin 75eモデルIoT Mobile Enterpriseには、ウェッジモードとPOSモードという2つのスキャンモードがあります。ウェッジモードでは、バーコードデータがキーボードを使用して入力されたかのように、バーコードデータがキーボードインターフェイスに挿入されます。 POSモードはMicrosoft Point of Service interfaceを実装します。 POSモードでは、バーコードデータはMicrosoftが定義したAPIを介してアプリケーションに送信されます。

スキャンウェッジモードは、デフォルトで有効になっています。 75eは、POSアプリケーションが開始されてスキャナを要求するまでウェッジモードのままです。 POSアプリケーションがスキャナでクレームを解除すると、端末はウェッジモードに戻ります。

したがって、Wedgeモードで使用したいスキャナを指定して、scanner config fileを/ Documents/Profileフォルダに配置する必要があります。残念ながら、USB HIDリングスキャナをウェッジモードにすることはできません。

v66.4.0.638またはv66.4.0.569のUSB HIDスキャナでは、ウェッジモードはサポートされていません。彼の唯一のオプションはで動作埋め込まれたスキャナを使用することです -

だから、すべてこの闘争の後、私は1つが、たとえば、Excelのスプレッドシートをカスタムウェブアプリのため75Eスキャナを使用し、またはをスキャンしたい場合ことが判明しましたデフォルトでウェッジモード。

また、USB HIDスキャナを使用する場合は、Microsoftが定義したAPIを実装した特別に開発されたアプリケーションでのみ使用できます。基本的には、私の最初の投稿に示されているように、特定のユーザーコントロール(テキストブロック、入力フィールド)にしかスキャンすることができません。

更新日:バージョン66.4.0.718以降、ウェッジモードでもUSB HIDスキャナを使用できます!

+0

Honeywellによると、ファームウェアv66.4.0.718で問題が解決するはずです。 – Donatas

関連する問題