RhoMobile and DataWedge: Receiving Intents

318 views Asked by At

My customer is using Zebra TC51 devices together with RhoMobile. He wants to upgrade from Android 7.1 to Android 8.1. After the upgrade using the latest lifeguard update, our RhoMobile Application is no longer able to use the scanner. It is not reacting at all. The implementation is using the Barcode Javascript API, and it works fine on TC51 Android 7.1 and actually also on new TC52 Devices with Android 8.1 with latest Lifeguard. The problem exists only with upgraded TC51 devices.

Anyways, i had great success with any TCx device and a Cordova Container using DataWedge as the Barcode provider. I tried to get this to work with RhoMobile as well.

Here is my AndroidManifest.erb code

...
  <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>
...

And my code looks like this

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);
} 

When i run the code and monitor logcat is see that the intent is received and an answer is sent

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

but it is never received in my app. any hints/ideas?

0

There are 0 answers