ShowKad
Read and snap MyKad, using your phone
What ShowKad does :
Reads from MyKad chip
Shows an enlarged photo for easier verification
Snaps the chip to produce a JPEG image
Allows other apps to read MyKad through intent
What it does not do :
Fingerprint verification, which typically requires a device in the range of several thousand ringgit. ShowKad reduces the total cost to below 100 ringgit (app is free, while reader costs 99 ringgit), by allowing simple and reasonably-effective visual verification of the photo.
If you need fingerprint verification, please take a look at FingKad.
Benefits :
Sharp and printer-friendly image with a white background
Absolutely more trustworthy than a photocopy or a bare visual inspection
Can be carried in the pocket
Replaces photocopy of MyKad
Replaces photocopy of driving license
For app developers, MyKad reading without smartcard programming, reader integration and external libraries
Who should use it ?
Car salesperson
Vehicle hire-purchase staff of a finance company
Car rental company
Anyone who needs to verify a MyKad
Anyone who writes apps for MyKad, whether as school projects or commercial systems
Get the free ShowKad app today :
Then obtain a reader :
It is an ACR38U-PocketMate from Advanced Card Systems. We ship it to you by courier service, anywhere in Malaysia. No shipping fee is needed.
RM 99
(FREE shipping within Malaysia, FREE USB OTG adapter)
Pay with PayPal - FREE micro USB OTG adapter
Pay with PayPal - FREE type c USB OTG adapter
For queries or assistance, please contact care@causalidea.com.
If you are writing your own app, sample code for reading MyKad through intent :
Launching ShowKad through intent from another app
intent = new Intent ("com.causalidea.cikad.showkad.READ_MYKAD");
extras = new Bundle ();
extras.putBoolean ("READ_PHOTO", false); // Do not read the photo
intent.putExtras (extras);
activity.startActivityForResult (intent, 0);
What the user sees
Pressing OK causes MyKad reading, followed by an automatic switch back to the calling app, with the result code Activity.RESULT_OK.
Pressing Cancel switches back to the calling app right-away with the result code Activity.RESULT_CANCELED.
Receiving the output from ShowKad
public void onActivityResult (int requestCode, int resultCode, Intent intent) {
if (resultCode == Activity.RESULT_OK) {
extras = intent.getExtras ();
if (extras != null) {
extras.getString ("IC_NUMBER");
extras.getString ("NAME");
extras.getString ("GENDER");
extras.getString ("CITIZENSHIP");
extras.getString ("BIRTH_DATE");
extras.getString ("RACE");
extras.getString ("RELIGION");
extras.getString ("ADDRESS_1");
extras.getString ("ADDRESS_2");
extras.getString ("ADDRESS_3");
extras.getString ("POSTCODE");
extras.getString ("CITY");
extras.getString ("STATE");
photoByteArray = extras.getByteArray ("PHOTO");
if (photoByteArray != null) {
bitmap = BitmapFactory.decodeByteArray (photoByteArray, 0, photoByteArray.length);
imageView.setImageBitmap (bitmap);
}
}
} else if (resultCode == Activity.RESULT_CANCELED) {
}
}