0

我使用 Honeywell SKD 扫描条码。在 Android 4.4.1 上一切正常,但在 7.7.1 上出现错误。我试图使用推荐的服务意图,但很可能我做错了。

Intent serviceIntent = new Intent("com.honeywell.decoderservice.STARTSERVICE");
serviceIntent.setPackage("com.honeywell.decoderservice");
mDecodeManager = new DecodeManager(this, ScanResultHandler); // this line throws exception

我的错误日志:

E/AndroidRuntime: FATAL EXCEPTION: main
              Process: md.avalon.avalontsd, PID: 3288
              java.lang.RuntimeException: Unable to start activity ComponentInfo{md.avalon.avalontsd/md.avalon.avalontsd.ReceiptActivity}: java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.honeywell.decoderservice.STARTSERVICE }
                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665)
                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
                  at android.app.ActivityThread.-wrap12(ActivityThread.java)
                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
                  at android.os.Handler.dispatchMessage(Handler.java:102)
                  at android.os.Looper.loop(Looper.java:154)
                  at android.app.ActivityThread.main(ActivityThread.java:6130)
                  at java.lang.reflect.Method.invoke(Native Method)
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
               Caused by: java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.honeywell.decoderservice.STARTSERVICE }
                  at android.app.ContextImpl.validateServiceIntent(ContextImpl.java:1346)
                  at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1455)
                  at android.app.ContextImpl.bindService(ContextImpl.java:1423)
                  at android.content.ContextWrapper.bindService(ContextWrapper.java:636)
                  at com.honeywell.decodemanager.DecodeManager.bindDecoderService(DecodeManager.java:121)
                  at com.honeywell.decodemanager.DecodeManager.<init>(DecodeManager.java:211)
                  at md.avalon.avalontsd.ReceiptActivity.onCreate(ReceiptActivity.java:181)
                  at android.app.Activity.performCreate(Activity.java:6720)
                  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)

如何解决问题?谢谢你。

4

0 回答 0