从USB数据缓冲区读取字节数组索引会导致崩溃

时间:2015-03-31 14:41:30

标签: android multithreading serial-port buffer

我的应用程序使用USB主机模式从FTDI读取数据。我一次又一次地从缓冲区读取数据时会收到Android运行时错误。发生错误的行总是类似unitVIDLSB=buffer[8];,其中unitVIDLSB已初始化为bytebufferbyte []。我只想尝试获取每个字节,因为它们每个字节包含一组信息。它完全在30%的时间内起作用。我也尝试将波特率更改为9600之类的速度,但它没有改变成功率。

读取过程在其自己的线程中处理,并在有接收消息时接收,并指示消息的适当长度(这一直运行良好)。从那里它检查前四个字节并通过case语句级联以识别接收的消息并从其上执行处理。消息处理程序从线程运行。

我调查了DataInputStreams,但它与使用字节数组看起来并没有什么不同。

任何帮助或建议表示赞赏!谢谢!

这是我的阅读帖子:

class ReadThread extends Thread {
final int USB_DATA_BUFFER = 8192;

public void run() {
    byte[] usbdata = new byte[USB_DATA_BUFFER];

    int readcount;
    int iWriteIndex = 0;
    int startIndex = 0;
    byte status;
    bReadThreadEnable = true;

    while (bReadThreadEnable) {
        try {
            Thread.sleep(10);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        readcount = ftDev.getQueueStatus();

        if (readcount > 0) {

            if (readcount > USB_DATA_BUFFER) {
                readcount = USB_DATA_BUFFER;
            }

            ftDev.read(usbdata, readcount);

            shortBuffer = new byte[readcount];

            for (int j = 0; j < readcount; j++) {
                shortBuffer[j] = usbdata[j];
                if (usbdata[j] == (byte) 0xFE) { //if byte[0] isnt the starting byte, find it
                    startIndex = j;
                }
            }

            if (shortBuffer[startIndex] == (byte) 0xFE && shortBuffer[startIndex + 1] == (byte) 0x19) { //sync, message received


                MessageHandler(shortBuffer);

                shortBuffer = null;
            }
        }
    }
}
}

这是MessageHandler:

    void MessageHandler(byte[] buffer) {
    bReadThreadEnable = false;
    switch (buffer[3]) { //get first message ID byte
        case (byte) 0x10:
            switch (buffer[2]) { //get second message ID byte
                case (byte) 0x02:
                    numberOfUnits = buffer[8];
                    inChannels = buffer[9];
                    outChannels = buffer[10];
                    dataChannelLinks = buffer[11]; //errors: 1
                    bPSIReceived = true;
                    break;
                case (byte) 0x03:
                    bPSIFailed = true;
                    break;
                case (byte) 0x05:
                    unitVIDLSB = buffer[8];
                    unitVIDMSB = buffer[9];
                    unitPIDLSB = buffer[10];//errors: 1
                    unitPIDMSB = buffer[11];
                    unitSNLSB = buffer[12];
                    unitSNMSB = buffer[13];
                    unitTypeLSB = buffer[14];
                    unitTypeMSB = buffer[15];
                    unitProfileLSB = buffer[17];
                    unitProfileMSB = buffer[18];
                    //Reduce to one variable, for commodity of printing and debugging 
                    unitVID = ((unitVIDMSB & 0xff) << 8) | (unitVIDLSB & 0xff);
                    unitPID = ((unitPIDMSB & 0xff) << 8) | (unitPIDLSB & 0xff);
                    unitSN = ((unitSNMSB & 0xff) << 8) | (unitSNLSB & 0xff);
                    unitType = ((unitTypeMSB & 0xff) << 8) | (unitTypeLSB & 0xff);
                    unitProfile = ((unitProfileMSB & 0xff) << 8) | (unitProfileLSB & 0xff);
                    unitNumberOfChannels = buffer[19];
                    bUIReceived = true;
                    break;
                case (byte) 0x06:
                    break;
                case (byte) 0x08:
                    unitVIDLSB = buffer[8];//errors: 2
                    unitVIDMSB = buffer[9];
                    unitPIDLSB = buffer[10];
                    unitPIDMSB = buffer[11];
                    unitSNLSB = buffer[12];//errors: 1
                    unitSNMSB = buffer[13];
                    channelIndex = buffer[14];
                    dataCTLSB = buffer[15];//errors: 1
                    dataCTMSB = buffer[16];
                    dataChannelPLSB = buffer[17];
                    dataChannelPMSB = buffer[18];
                    dataChannelTT = buffer[19];
                    unitVID = ((unitVIDMSB & 0xff) << 8) | (unitVIDLSB & 0xff);
                    unitPID = ((unitPIDMSB & 0xff) << 8) | (unitPIDLSB & 0xff);
                    unitSN = ((unitSNMSB & 0xff) << 8) | (unitSNLSB & 0xff);
                    dataChannelType = ((dataCTMSB & 0xff) << 8) | (dataCTLSB & 0xff);
                    dataChannelProfile = ((dataChannelPMSB & 0xff) << 8) | (dataChannelPLSB & 0xff);
                    bDCIReceived = true;
                    break;
                case (byte) 0x09:
                    break;
                case (byte) 0x0B:
                    OunitVIDLSB = buffer[8];
                    OunitVIDMSB = buffer[9];
                    OunitPIDLSB = buffer[10];
                    OunitPIDMSB = buffer[11];
                    OunitSNLSB = buffer[12]; //errors: 1
                    OunitSNMSB = buffer[13]; //errors: 1
                    OchannelIndex = buffer[14];
                    IunitVIDLSB = buffer[15];
                    IunitVIDMSB = buffer[16];
                    IunitPIDLSB = buffer[17];
                    IunitPIDMSB = buffer[18];
                    IunitSNLSB = buffer[19];
                    IunitSNMSB = buffer[20];
                    IchannelIndex = buffer[21];
                    linkStatus = buffer[22];
                    OunitVID = ((OunitVIDMSB & 0xff) << 8) | (OunitVIDLSB & 0xff);
                    OunitPID = ((OunitPIDMSB & 0xff) << 8) | (OunitPIDLSB & 0xff);
                    OunitSN = ((OunitSNMSB & 0xff) << 8) | (OunitSNLSB & 0xff);
                    IunitVID = ((IunitVIDMSB & 0xff) << 8) | (IunitVIDLSB & 0xff);
                    IunitPID = ((IunitPIDMSB & 0xff) << 8) | (IunitPIDLSB & 0xff);
                    IunitSN = ((IunitSNMSB & 0xff) << 8) | (IunitSNLSB & 0xff);
                    bDCLIReceived = true;
                    break;
                case (byte) 0x0C:
                    break;
            }
            break;
        case (byte) 0x11:
            switch (buffer[2]) { //get second message ID byte
                case (byte) 0x02:
                    byte[] temp = new byte[16];
                    bPDCReceived = true;
                    bPDCFailed = false;
                    break;
                case (byte) 0x03:
                    bPDCFailed = true;
                    break;
                case (byte) 0x05:
                    break;
                case (byte) 0x06:
                    break;
            }
            break;
        case (byte) 0x12:
            switch (buffer[2]) { //get second message ID byte
                case (byte) 0x02:
                    break;
                case (byte) 0x03:
                    break;
            }
            break;
        case (byte) 0x20:
            switch (buffer[2]) { //get second message ID byte
                case (byte) 0x02:
                    break;
                case (byte) 0x03:
                    break;
            }
            break;
        case (byte) 0x21:
            switch (buffer[2]) { //get second message ID byte
                case (byte) 0x02:
                    break;
                case (byte) 0x03:
                    break;
                case (byte) 0x05:
                    break;
                case (byte) 0x06:
                    break;
            }
            break;
    }
    bReadThreadEnable = true;
}

catlog是这样的:

04-04 16:05:23.246 V/SmartFaceService - 3rd party pause(845): onReceive [android.intent.action.ACTIVITY_STATE/com.testapps.potato.e5e_app/resume]
04-04 16:05:23.256 I/E5E     (15741): onResume - reconnect
04-04 16:05:24.307 V/SmartFaceService - 3rd party pause(845): onReceive [android.intent.action.ACTIVITY_STATE/com.testapps.potato.e5e_app/recreate]
04-04 16:05:24.327 I/E5E     (15741): onResume - reconnect
04-04 16:05:24.377 I/WindowManager(845): Screen frozen for +252ms due to Window{42f8cf70 u0 com.testapps.potato.e5e_app/com.testapps.potato.e5e_app.Startup}
04-04 16:05:26.489 V/SmartFaceService - 3rd party pause(845): onReceive [android.intent.action.ACTIVITY_STATE/com.testapps.potato.e5e_app/pause]
04-04 16:05:28.321 I/E5E     (15741): onResume - reconnect
04-04 16:05:28.331 V/SmartFaceService - 3rd party pause(845): onReceive [android.intent.action.ACTIVITY_STATE/com.testapps.potato.e5e_app/resume]
04-04 16:05:28.631 V/WindowManager(845):   #2: Token{42f29618 ActivityRecord{42f33ae0 u0 com.testapps.potato.e5e_app/.Startup t124}}
04-04 16:05:28.631 V/WindowManager(845):   #6: Window{42f8cf70 u0 com.testapps.potato.e5e_app/com.testapps.potato.e5e_app.Startup}
04-04 16:05:29.562 V/SmartFaceService - 3rd party pause(845): onReceive [android.intent.action.ACTIVITY_STATE/com.testapps.potato.e5e_app/pause]
04-04 16:05:29.592 V/SmartFaceService - 3rd party pause(845): onReceive [android.intent.action.ACTIVITY_STATE/com.testapps.potato.e5e_app/create]
04-04 16:05:29.652 I/E5E     (15741): onResume - reconnect
04-04 16:05:43.636 I/E5E     (15741): onResume - reconnect
04-04 16:05:43.646 D/UsbSettingsManager(845): hasPermission: UsbDevice[mName=/dev/bus/usb/002/003,mVendorId=1027,mProductId=24577,mClass=0,mSubclass=0,mProtocol=0,mInterfaces=[Landroid.os.Parcelable;@4388e5e0]for {10422=true}
04-04 16:05:43.796 V/SmartFaceService - 3rd party pause(845): onReceive [android.intent.action.ACTIVITY_STATE/com.testapps.potato.e5e_app/resume]
04-04 16:05:44.597 I/NotificationService(845): cancelToast pkg=com.testapps.potato.e5e_app callback=android.app.ITransientNotification$Stub$Proxy@42f591a0
04-04 16:05:45.527 I/E5E     (15741): db created!
04-04 16:05:45.598 I/E5E     (15741): writing PDCP SYS INFO
04-04 16:05:45.598 I/E5E     (15741): sending:FE 19 01 10 00 00 00 00 
04-04 16:05:45.618 I/E5E     (15741): readcount:14
04-04 16:05:45.618 I/E5E     (15741): Start index is0
04-04 16:05:45.618 I/E5E     (15741): Message Received!
04-04 16:05:45.618 I/E5E     (15741): hex string is:FE 19 02 10 00 06 00 00 02 02 04 00 00 00 
04-04 16:05:45.618 I/E5E     (15741): No. of Devices: 2
04-04 16:05:45.618 I/E5E     (15741): No. of inchannels: 2
04-04 16:05:45.618 I/E5E     (15741): No. of outchannels: 4
04-04 16:05:45.618 I/E5E     (15741): No. of datachannels: 0
04-04 16:05:49.261 I/E5E     (15741): writing GET UNIT INFO
04-04 16:05:49.261 I/E5E     (15741): sending:FE 19 04 10 00 03 00 00 01 00 00 
04-04 16:05:49.281 I/E5E     (15741): readcount:22
04-04 16:05:49.281 I/E5E     (15741): Start index is0
04-04 16:05:49.281 I/E5E     (15741): Message Received!
04-04 16:05:49.291 I/E5E     (15741): hex string is:FE 19 05 10 00 0E 00 00 63 00 0E 00 09 00 00 01 00 01 00 03 00 00 
04-04 16:05:49.291 I/E5E     (15741): Get Unit Info Received!
04-04 16:05:51.423 I/E5E     (15741): writing GET PARAM INFO(1)
04-04 16:05:51.423 I/E5E     (15741): sending:FE 19 01 11 00 0A 00 00 63 00 0E 00 09 00 00 07 00 00 
04-04 16:05:51.733 I/E5E     (15741): waiting for PARAM INFO (1)
04-04 16:05:51.733 I/E5E     (15741): Got Param!
04-04 16:05:51.764 I/E5E     (15741): Number of Channels (for loop) 3
04-04 16:05:51.774 I/E5E     (15741): Channel index is:1
04-04 16:05:52.314 I/E5E     (15741): readcount:11
04-04 16:05:52.314 I/E5E     (15741): Start index is0
04-04 16:05:52.314 I/E5E     (15741): Message Received!
04-04 16:05:52.324 I/E5E     (15741): hex string is:FE 19 03 11 00 03 00 00 00 00 00 
04-04 16:05:52.324 E/E5E     (15741): Get Parameter Data Failed!
04-04 16:05:53.765 I/E5E     (15741): Writing DATA CHANNEL INFO
04-04 16:05:53.765 I/E5E     (15741): sending:FE 19 07 10 00 09 00 00 63 00 0E 00 09 00 01 00 00 
04-04 16:05:53.785 I/E5E     (15741): readcount:1
04-04 16:05:53.785 I/E5E     (15741): Start index is0
04-04 16:05:53.785 E/AndroidRuntime(15741): Process: com.testapps.potato.e5e_app, PID: 15741
04-04 16:05:53.785 E/AndroidRuntime(15741):     at com.testapps.potato.e5e_app.Startup$ReadThread.run(Startup.java:302)
04-04 16:05:53.796 W/ActivityManager(845):   Force finishing activity com.testapps.potato.e5e_app/.Startup
04-04 16:05:53.876 D/CrashAnrDetector(845): processName: com.testapps.potato.e5e_app
04-04 16:05:53.876 D/CrashAnrDetector(845): broadcastEvent : com.testapps.potato.e5e_app data_app_crash
04-04 16:05:53.876 V/SmartFaceService - 3rd party pause(845): onReceive [android.intent.action.ACTIVITY_STATE/com.testapps.potato.e5e_app/pause]
04-04 16:05:54.076 I/E5E     (15741): waiting for DATA CHANNEL INFO
04-04 16:05:54.226 I/E5E     (15741): waiting for DATA CHANNEL INFO
04-04 16:05:54.376 I/E5E     (15741): waiting for DATA CHANNEL INFO
04-04 16:05:54.526 I/E5E     (15741): waiting for DATA CHANNEL INFO
04-04 16:05:54.676 I/E5E     (15741): waiting for DATA CHANNEL INFO
04-04 16:05:54.827 I/E5E     (15741): waiting for DATA CHANNEL INFO
04-04 16:05:54.977 I/E5E     (15741): waiting for DATA CHANNEL INFO
04-04 16:05:55.127 I/E5E     (15741): waiting for DATA CHANNEL INFO
04-04 16:05:55.277 I/E5E     (15741): waiting for DATA CHANNEL INFO
04-04 16:05:55.427 I/E5E     (15741): waiting for DATA CHANNEL INFO
04-04 16:05:55.577 I/E5E     (15741): waiting for DATA CHANNEL INFO
04-04 16:05:55.637 I/ActivityManager(845): Process com.testapps.potato.e5e_app (pid 15741) (adj 1) has died.
04-04 16:05:55.637 I/WindowState(845): WIN DEATH: Window{439179f0 u0 com.testapps.potato.e5e_app/com.testapps.potato.e5e_app.Startup}
04-04 16:06:40.011 D/Launcher.Workspace(1508): changeState NORMAL -> EDIT, animated: true, delay: 0, item: Item(id=290 folderId=-1 screen=5 cell=11 title=E5E_app componentName=ComponentInfo{com.testapps.potato.e5e_app/com.testapps.potato.e5e_app.Startup} unavailable=false)
04-04 16:06:41.392 W/PackageManager(845): Couldn't delete native library directory /data/app-lib/com.testapps.potato.e5e_app
04-04 16:06:41.642 D/PackageManager(845): Sending to user 0: act=android.intent.action.PACKAGE_REMOVED dat=package:com.testapps.potato.e5e_app flg=0x4000000 Bundle[{android.intent.extra.REMOVED_FOR_ALL_USERS=true, android.intent.extra.UID=10422, android.intent.extra.DATA_REMOVED=true, android.intent.extra.user_handle=0}]
04-04 16:06:41.672 D/PackageManager(845): Sending to user 0: act=android.intent.action.PACKAGE_FULLY_REMOVED dat=package:com.testapps.potato.e5e_app flg=0x4000000 Bundle[{android.intent.extra.REMOVED_FOR_ALL_USERS=true, android.intent.extra.UID=10422, android.intent.extra.DATA_REMOVED=true, android.intent.extra.user_handle=0}]
04-04 16:06:41.692 D/ContainerEventsRelayManager(1475): <<< Intent data is   >>> : package:com.testapps.potato.e5e_app
04-04 16:06:41.712 I/elm     (3585): MainReceiver.onReceive() : Intent { act=android.intent.action.PACKAGE_REMOVED dat=package:com.testapps.potato.e5e_app flg=0x4000010 cmp=com.sec.esdk.elm/.receiver.MainReceiver (has extras) }
04-04 16:06:41.792 D/ContainerEventsRelayManager(1475): <<< Intent data is   >>> : package:com.testapps.potato.e5e_app
04-04 16:06:41.832 I/elm     (3585): MainReceiver.onReceive() END - - - - - : Intent { act=android.intent.action.PACKAGE_REMOVED dat=package:com.testapps.potato.e5e_app flg=0x4000010 cmp=com.sec.esdk.elm/.receiver.MainReceiver (has extras) }
04-04 16:06:42.033 D/BackupManagerService(845): Received broadcast Intent { act=android.intent.action.PACKAGE_REMOVED dat=package:com.testapps.potato.e5e_app flg=0x4000010 (has extras) }
04-04 16:06:42.453 I/CrashAnrDetector(845): onPackageRemoved : com.testapps.potato.e5e_app
04-04 16:06:42.913 D/CapabilityManagerService New(17703): The package(com.testapps.potato.e5e_app) removed
04-04 16:06:43.324 D/PackageBroadcastService(1998): Received broadcast action=android.intent.action.PACKAGE_REMOVED and uri=com.testapps.potato.e5e_app
04-04 16:06:43.324 D/AccountUtils(1998): Clearing selected account for com.testapps.potato.e5e_app
04-04 16:06:43.354 I/LocationSettingsChecker(1998): Removing dialog suppression flag for package com.testapps.potato.e5e_app
04-04 16:06:43.614 I/ConfigFetchService(1998): onStartCommand Intent { act=android.intent.action.PACKAGE_REMOVED dat=package:com.testapps.potato.e5e_app cmp=com.google.android.gms/.config.ConfigFetchService (has extras) }
04-04 16:06:43.654 I/Icing   (1998): doRemovePackageData com.testapps.potato.e5e_app
04-04 16:06:43.864 I/UpdateIcingCorporaServi(2769): Updating corpora: APPS=com.testapps.potato.e5e_app, CONTACTS=MAYBE
04-04 16:06:48.619 D/PackageManager(845):           PackageURI{file:///data/local/tmp/com.testapps.potato.e5e_app}
04-04 16:06:50.191 D/PackageManager(845): Sending to user 0: act=android.intent.action.PACKAGE_ADDED dat=package:com.testapps.potato.e5e_app flg=0x4000000 Bundle[{android.intent.extra.UID=10423, android.intent.extra.user_handle=0}]
04-04 16:06:50.221 D/ContainerEventsRelayManager(1475): <<< Intent data is   >>> : package:com.testapps.potato.e5e_app
04-04 16:06:50.541 D/BackupManagerService(845): Received broadcast Intent { act=android.intent.action.PACKAGE_ADDED dat=package:com.testapps.potato.e5e_app flg=0x4000010 (has extras) }
04-04 16:06:50.571 D/ECS_EnterpriseContainerService(845): <<< Intent data is   >>> : package:com.testapps.potato.e5e_app
04-04 16:06:51.272 D/FileShare-Server(18117): ServerBroadcastReceiver.onReceive - action android.intent.action.PACKAGE_ADDED // package:com.testapps.potato.e5e_app
04-04 16:06:51.452 I/CrashAnrDetector(845): onPackageAdded : com.testapps.potato.e5e_app
04-04 16:06:51.452 D/PackageBroadcastService(1998): Received broadcast action=android.intent.action.PACKAGE_ADDED and uri=com.testapps.potato.e5e_app
04-04 16:06:51.492 V/ApplicationPolicy(845): isApplicationStateBlocked userId 0 pkgname com.testapps.potato.e5e_app
04-04 16:06:51.532 I/ConfigFetchService(1998): onStartCommand Intent { act=android.intent.action.PACKAGE_ADDED dat=package:com.testapps.potato.e5e_app cmp=com.google.android.gms/.config.ConfigFetchService (has extras) }
04-04 16:06:51.642 V/SmartFaceService - 3rd party pause(845): onReceive [android.intent.action.ACTIVITY_STATE/com.testapps.potato.e5e_app/create]
04-04 16:06:51.722 I/E5E     (18172): onResume - reconnect
04-04 16:06:51.982 I/UpdateIcingCorporaServi(2769): Updating corpora: APPS=com.testapps.potato.e5e_app, CONTACTS=MAYBE
04-04 16:06:59.389 V/SmartFaceService - 3rd party pause(845): onReceive [android.intent.action.ACTIVITY_STATE/com.testapps.potato.e5e_app/pause]
04-04 16:07:01.772 I/E5E     (18172): onResume - reconnect
04-04 16:07:01.832 V/SmartFaceService - 3rd party pause(845): onReceive [android.intent.action.ACTIVITY_STATE/com.testapps.potato.e5e_app/resume]
04-04 16:07:02.262 I/NotificationService(845): cancelToast pkg=com.testapps.potato.e5e_app callback=android.app.ITransientNotification$Stub$Proxy@44e73bb0
04-04 16:07:03.213 I/E5E     (18172): db created!
04-04 16:07:03.273 I/E5E     (18172): writing PDCP SYS INFO
04-04 16:07:03.273 I/E5E     (18172): sending:FE 19 01 10 00 00 00 00 
04-04 16:07:03.293 I/E5E     (18172): readcount:14
04-04 16:07:03.293 I/E5E     (18172): Start index is0
04-04 16:07:03.293 I/E5E     (18172): Message Received!
04-04 16:07:03.293 I/E5E     (18172): hex string is:FE 19 02 10 00 06 00 00 02 02 04 00 00 00 
04-04 16:07:03.293 I/E5E     (18172): No. of Devices: 2
04-04 16:07:03.293 I/E5E     (18172): No. of inchannels: 2
04-04 16:07:03.293 I/E5E     (18172): No. of outchannels: 4
04-04 16:07:03.293 I/E5E     (18172): No. of datachannels: 0
04-04 16:07:06.927 I/E5E     (18172): writing GET UNIT INFO
04-04 16:07:06.927 I/E5E     (18172): sending:FE 19 04 10 00 03 00 00 01 00 00 
04-04 16:07:06.947 I/E5E     (18172): readcount:22
04-04 16:07:06.947 I/E5E     (18172): Start index is0
04-04 16:07:06.947 I/E5E     (18172): Message Received!
04-04 16:07:06.947 I/E5E     (18172): hex string is:FE 19 05 10 00 0E 00 00 63 00 0E 00 09 00 00 01 00 01 00 03 00 00 
04-04 16:07:06.947 I/E5E     (18172): Get Unit Info Received!
04-04 16:07:09.079 I/E5E     (18172): writing GET PARAM INFO(1)
04-04 16:07:09.089 I/E5E     (18172): sending:FE 19 01 11 00 0A 00 00 63 00 0E 00 09 00 00 07 00 00 
04-04 16:07:09.389 I/E5E     (18172): waiting for PARAM INFO (1)
04-04 16:07:09.389 I/E5E     (18172): Got Param!
04-04 16:07:09.439 I/E5E     (18172): Number of Channels (for loop) 3
04-04 16:07:09.439 I/E5E     (18172): Channel index is:1
04-04 16:07:09.960 I/E5E     (18172): readcount:11
04-04 16:07:09.960 I/E5E     (18172): Start index is0
04-04 16:07:09.960 I/E5E     (18172): Message Received!
04-04 16:07:09.970 I/E5E     (18172): hex string is:FE 19 03 11 00 03 00 00 00 00 00 
04-04 16:07:09.970 E/E5E     (18172): Get Parameter Data Failed!
04-04 16:07:11.441 I/E5E     (18172): Writing DATA CHANNEL INFO
04-04 16:07:11.441 I/E5E     (18172): sending:FE 19 07 10 00 09 00 00 63 00 0E 00 09 00 01 00 00 
04-04 16:07:11.471 I/E5E     (18172): readcount:22
04-04 16:07:11.471 I/E5E     (18172): Start index is0
04-04 16:07:11.471 I/E5E     (18172): Message Received!
04-04 16:07:11.471 I/E5E     (18172): hex string is:FE 19 08 10 00 0E 00 00 63 00 0E 00 09 00 01 01 00 01 00 01 00 00 
04-04 16:07:11.471 I/E5E     (18172): Get Data Channel Info Received!
04-04 16:07:13.603 I/E5E     (18172): Adding Params!
04-04 16:07:13.683 I/E5E     (18172): At channel switch!
04-04 16:07:15.685 I/E5E     (18172): writing GET DATA CHAN LINK INFO
04-04 16:07:15.685 I/E5E     (18172): sending:FE 19 0A 10 00 09 00 00 63 00 0E 00 09 00 01 00 00 
04-04 16:07:15.715 I/E5E     (18172): readcount:25
04-04 16:07:15.715 I/E5E     (18172): Start index is0
04-04 16:07:15.715 I/E5E     (18172): Message Received!
04-04 16:07:15.715 I/E5E     (18172): hex string is:FE 19 0B 10 00 11 00 00 00 00 00 00 00 00 00 63 00 0E 00 09 00 01 00 00 00 
04-04 16:07:15.715 I/E5E     (18172): Get Data Channel Link Info Received!
04-04 16:07:17.837 I/E5E     (18172): Adding more Parameters!
04-04 16:07:18.048 I/E5E     (18172): Done adding Parameters!
04-04 16:07:18.048 I/E5E     (18172): Channel index is:2
04-04 16:07:20.050 I/E5E     (18172): Writing DATA CHANNEL INFO
04-04 16:07:20.050 I/E5E     (18172): sending:FE 19 07 10 00 09 00 00 63 00 0E 00 09 00 02 00 00 
04-04 16:07:20.070 I/E5E     (18172): readcount:12
04-04 16:07:20.070 I/E5E     (18172): Start index is0
04-04 16:07:20.070 I/E5E     (18172): Message Received!
04-04 16:07:20.070 I/E5E     (18172): hex string is:FE 19 08 10 00 0E 00 00 63 00 0E 00 
04-04 16:07:20.070 I/E5E     (18172): Get Data Channel Info Received!
04-04 16:07:20.070 E/AndroidRuntime(18172): Process: com.testapps.potato.e5e_app, PID: 18172
04-04 16:07:20.070 E/AndroidRuntime(18172):     at com.testapps.potato.e5e_app.Startup.MessageHandler(Startup.java:379)
04-04 16:07:20.070 E/AndroidRuntime(18172):     at com.testapps.potato.e5e_app.Startup$ReadThread.run(Startup.java:310)
04-04 16:07:20.080 W/ActivityManager(845):   Force finishing activity com.testapps.potato.e5e_app/.Startup
04-04 16:07:20.170 D/CrashAnrDetector(845): processName: com.testapps.potato.e5e_app
04-04 16:07:20.170 D/CrashAnrDetector(845): broadcastEvent : com.testapps.potato.e5e_app data_app_crash
04-04 16:07:20.170 V/SmartFaceService - 3rd party pause(845): onReceive [android.intent.action.ACTIVITY_STATE/com.testapps.potato.e5e_app/pause]
04-04 16:07:20.360 I/E5E     (18172): waiting for DATA CHANNEL INFO
04-04 16:07:20.530 I/E5E     (18172): waiting for DATA CHANNEL INFO
04-04 16:07:20.680 I/E5E     (18172): waiting for DATA CHANNEL INFO
04-04 16:07:20.830 I/E5E     (18172): waiting for DATA CHANNEL INFO
04-04 16:07:20.981 I/E5E     (18172): waiting for DATA CHANNEL INFO
04-04 16:07:21.131 I/E5E     (18172): waiting for DATA CHANNEL INFO
04-04 16:07:21.281 I/E5E     (18172): waiting for DATA CHANNEL INFO
04-04 16:07:21.431 I/E5E     (18172): waiting for DATA CHANNEL INFO
04-04 16:07:21.581 I/E5E     (18172): waiting for DATA CHANNEL INFO
04-04 16:07:21.611 I/WindowState(845): WIN DEATH: Window{42f35680 u0 com.testapps.potato.e5e_app/com.testapps.potato.e5e_app.Startup}
04-04 16:07:21.621 I/ActivityManager(845): Process com.testapps.potato.e5e_app (pid 18172) (adj 11) has died.

0 个答案:

没有答案