задаюсь вопросом, может ли кто-нибудь понять что-то или указать мне соответствующую документацию, объясняющую следующую строку кода:
byte flag = (byte) (flagOfCardData&0x04);
Понятия не имею, почему после flagOfCardData есть & 0x04 . Я знаю, что это связано с чем-то шестнадцатеричным, но это так. Вот строка кода, как в функции.
public void onReceiveMsgCardData(byte flagOfCardData,byte[] cardData) {
// TODO Auto-generated method stub
byte flag = (byte) (flagOfCardData&0x04);
if(flag==0x00)
_strMSRData = new String (cardData);
if(flag==0x04)
{
//You need to dencrypt the data here first.
_strMSRData = new String (cardData);
}
_MSRData = null;
_MSRData = new byte[cardData.length];
System.arraycopy(cardData, 0, _MSRData, 0, cardData.length);
_isCardData = true;
handler.post(doHideTopDlg);
handler.post(doHideSwipeTopDlg);
handler.post(doUpdateTVS);
}
Я бы посмотрел, зачем это делать, но я не могу даже найти правильные ключевые слова для поиска DOH! Спасибо за любую помощь.
Это для Android SDK с использованием Eclipse и Java. Кроме того, код является частью другого SDK, который является частью устройства чтения магнитных карт, которое подключается к устройству на платформе Android через аудиопорт. Продукт называется Unimag Pro. Вот сайт: http://www.idtechproducts.com/products/mobile-readers/126.html
Я отправил им тот же вопрос, но кто знает, могут ли они ответить и когда. Я также опубликую их ответ здесь для всех, кто может столкнуться с той же проблемой.
Дайте мне знать, если вам нужна дополнительная информация.
Спасибо.