I've been working on Android (v2.3) for a couple of weeks now, and I've stumbled upon some problems with the Unimag Card Swiper from IDTECH.

The unit comes with a scarce documentation and the demo app from the SDK implements the firmware update and a few classes for dialogs and such which really offuscate how to achieve basic functionality (added to the few and not so good comments in the code).

I have implemented the interface in a basic activity and tried to detect when the unit is connected or disconnected but it seems the listener catches both events (connection/disconnection) as "disconnect", let alone trying to read a card.

Has anyone worked with this unit on Android and has some clear examples?

By the way, here is my class:

package com.card.swipe;

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import IDTech.MSR.uniMag.uniMagReader;
import IDTech.MSR.uniMag.uniMagReaderMsg;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

public class CardSwipeTestActivity extends Activity implements uniMagReaderMsg {

    private uniMagReader myUniMagReader = null;
    private TextView etCardData;
    private String _strMSRData = null;
    private byte[]_MSRData = null;
    private String _strStatus = null;
    private int _nGetChallengeResult = 0;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
//      InitializeUI();
        InitializeReader();  
        String strManufacture = myUniMagReader.getInfoManufacture();
        String strModel = myUniMagReader.getInfoModel();
        String strSDKVerInfo = myUniMagReader.getSDKVersionInfo();
        String strOSVerInfo = android.os.Build.VERSION.RELEASE;
        etCardData = 
Edit
Report