public void myPOSStoreNewCard(BA ba){
int requestCode;
xba = ba;
MyPos myPos = MyPos.getInstance();
myPos.init(
Utils.MYPOS_SID,
Utils.MYPOS_WALLET_NUMBER,
Utils.CURRENCY,
Utils.CLIENT_PRIVATE_KEY,
Utils.SERVER_PUBLIC_KEY,
Utils.isSandbox
);
myPos.setKeyIndex(Utils.KEY_INDEX);
myPos.setLanguage(Utils.LANGUAGE);
Intent intent = new Intent(ba.context, StoreCardActivity.class);
intent.putExtra(MyPos.INTENT_EXTRA_VERIFICATION_AMOUNT, Utils.VERIFICATION_AMOUNT);
ion = new IOnActivityResult() {
@Override
public void ResultArrived(int resultCode, Intent data) {
pResultArrived("storenewcard", resultCode, data);
};
};
try {
ba.startActivityForResult(ion, null); //<-- passing null instead of an intent
} catch (NullPointerException npe) {
//required...
}
BA.SharedProcessBA sba = ba.sharedProcessBA;
try {
Field f = BA.SharedProcessBA.class.getDeclaredField("onActivityResultCode");
f.setAccessible(true);
requestCode = f.getInt(sba) - 1;
//requestCode holds the value that should be used to send the intent.
} catch (Exception e) {
throw new RuntimeException(e);
}
ba.startActivityForResult(ion, intent);
//startActivityForResult(intent, MyPos.REQUEST_CODE_STORE_CARD);
}