0

私の顧客は、RhoMobile と一緒に Zebra TC51 デバイスを使用しています。彼は Android 7.1 から Android 8.1 にアップグレードしたいと考えています。最新のライフガード アップデートを使用してアップグレードした後、RhoMobile アプリケーションはスキャナーを使用できなくなりました。まったく反応していません。実装は Barcode Javascript API を使用しており、TC51 Android 7.1 で正常に動作し、実際には最新の Lifeguard を搭載した Android 8.1 を搭載した新しい TC52 デバイスでも正常に動作します。この問題は、アップグレードされた TC51 デバイスでのみ発生します。

とにかく、DataWedge をバーコード プロバイダーとして使用して、任意の TCx デバイスと Cordova コンテナーで大きな成功を収めました。これを RhoMobile でも動作させようとしました。

ここに私の AndroidManifest.erb コードがあります

...
  <receiver android:name='com.rho.intent.IntentReceiver'>
    <intent-filter>
      <action android:name='<%= @appPackageName %>.ACTION'/>
      <action android:name='com.symbol.datawedge.api.RESULT_ACTION'/>
      <action android:name='com.symbol.button.L1'/>
      <action android:name='com.symbol.button.R1'/>
      <action android:name='com.symbol.button.L2'/>
      <action android:name='com.symbol.button.R2'/>
      <category android:name='android.intent.category.DEFAULT'/>
    </intent-filter>
  </receiver> 
</application>
...

そして、私のコードは次のようになります

try {
    Rho.Intent.startListening((data) => {
        alert(JSON.stringify(data));
    });
    const intentParams = {
        action: "com.symbol.datawedge.api.ACTION",
        intentType: Rho.Intent.BROADCAST,
        data: {
            "SEND_RESULT": "false",
            "com.symbol.datawedge.api.GET_VERSION_INFO": ""
        }
    };
    Rho.Intent.send(intentParams);
} catch (e) {
    alert(e);
} 

コードを実行してモニターするlogcatと、インテントが受信され、回答が送信されることがわかります

09-24 10:10:02.863  1732  1732 D com.symbol.datawedge.api.m: 
onReceive(..):com.symbol.datawedge.ScanningService@4191885,Intent { 
act=com.symbol.datawedge.api.ACTION flg=0x10 (has extras) }
09-24 10:10:02.877  1413  1477 E ActivityManager: Sending non-protected broadcast 
com.symbol.datawedge.api.RESULT_ACTION from system 1732:com.symbol.datawedge/u0a10 pkg 
com.symbol.datawedge

しかし、それは私のアプリでは決して受け取られません。ヒント/アイデアはありますか?

4

0 に答える 0