EMDK Android 工作室

EMDK Android Studio

谁能帮帮我....

我无法从 Symbol TC75 扫描器接收到意图。我有设置配置文件向我的应用程序发送意图我的应用程序收到空意图。

我已将此代码放入 mainfest 文件中....

    <uses-permission android:name="com.symbol.emdk.permission.EMDK" />
        <uses-library android:name="com.symbol.emdk"/>

<activity
        android:name=".aufladen"
        android:screenOrientation="portrait"
        android:launchMode="singleTask">
        <intent-filter>
            <action android:name="com.draganm.mpreiscontainertracking.BARCODE" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

在 onCreate 我把这个

EMDKResults results = EMDKManager.getEMDKManager(this.getApplicationContext(), this);


    if(results.statusCode == STATUS_CODE.FAILURE)
    {
        //Failed to create EMDKManager object
    }
    Intent i = getIntent();
    handleDecodeData(i);


@Override
public void onNewIntent(Intent i) {
    handleDecodeData(i);
}

private void handleDecodeData(Intent i) {
    if (i.getAction().contentEquals("com.draganm.mpreiscontainertracking.BARCODE")) {
        String data = i.getStringExtra("com.motorolasolutions.emdk.datawedge.data_string");

        if (data != null && data.length() > 0) {
        }
        Toast.makeText(this, data, Toast.LENGTH_LONG).show();
    }
}

在真实设备上玩这个应用程序后,我在日志中收到此错误

FATAL EXCEPTION: main Process: com.draganm.mpreiscontainertracking, PID: 5163 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.draganm.mpreiscontainertracking/com.draganm.mpreiscontainertracking.aufladen}: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.contentEquals(java.lang.CharSequence)' on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) at android.app.ActivityThread.access0(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.contentEquals(java.lang.CharSequence)' on a null object reference at com.draganm.mpreiscontainertracking.aufladen.handleDecodeData(aufladen.java:610) at com.draganm.mpreiscontainertracking.aufladen.onCreate(aufladen.java:101) at android.app.Activity.performCreate(Activity.java:6012) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)  at android.app.ActivityThread.access0(ActivityThread.java:151)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:135)  at android.app.ActivityThread.main(ActivityThread.java:5254)  at java.lang.reflect.Method.invoke(Native Method)  at java.lang.reflect.Method.invoke(Method.java:372)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)

我认为您混淆了检索扫描数据的不同方法。意图仅从 DataWedge 服务 (http://techdocs.zebra.com/datawedge/6-0/guide/about/) but you are also initialising the EMDK library (http://techdocs.zebra.com/emdk-for-android/6-0/guide/gettingstarted/) 发送。 EMDK returns 通过回调获取其数据。

如果您选择 DataWedge 路线,我有一个侦听 DataWedge 意图的应用程序可能会有所帮助:https://github.com/darryncampbell/DataWedge-API-Exerciser

如果选择EMDK路线,斑马自己的网站上有样例:http://techdocs.zebra.com/emdk-for-android/6-0/samples/barcode/