- MIUI / HyperOS topik
- Vodafone mobilszolgáltatások
- Milyen okostelefont vegyek?
- Redmi Note 12 4G - valaki fizetni fog
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- A Watch7-tel debütálhat a Samsung vércukormérője
- Samsung Galaxy A54 - türelemjáték
- MG4 menetpróba
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Samsung Galaxy Watch4 és Watch4 Classic - próbawearzió
Hirdetés
-
Olcsó 5G-s ajánlatot nyújt a Realme Indiának
ma Megérkezett a Realme C65 5G, az első készülék a MediaTek Dimensity 6300-zal.
-
Igencsak szerény méretekkel rendelkezik az Aetina Xe HPG architektúrás VGA-ja
ph Az 50 wattos modellt beágyazott rendszerekbe, MI-vel kapcsolatos munkafolyamatokhoz és edge applikációkhoz szánták.
-
VR játék lesz az Alien: Rogue Incursion
gp Az év végén érkező program PC-re, Meta Quest 3-ra és PlayStation VR2-re érkezik a tervek szerint.
Új hozzászólás Aktív témák
-
k.kristof
őstag
Sziasztok!
Van egy Android alkalmazásom, aminek fő funkciója QR kód olvasás, majd a beolvasott adattartalommal csinál ezt-azt. Az activitynek, ami a beolvasás előnézetét mutatja és a beolvasást végzi, van egy private metódusa, ami a sikeres olvasás esetén kezeli az adatot. Szeretném, ha NFC-vel is fogadni tudnám egy másik eszközről az adatokat, és átadni ennek a metódusnak, úgyhogy implementáltam a HostApduService-t a leírtak szerint, az activityben pedig az onCreate()-en belül elindítom:
Intent hceIntent = new Intent(getBaseContext(),MyHostApduService.class);
startService(hceIntent);onResume()-on belül regisztrálok hozzá egy BroadcastReceivert:
registerReceiver(myReceiver,myFilter);
private BroadcastReceiver myReceiver =
new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.i("ActScanner","Broadcast received from MyHostApduService");
Intent myIntent = getIntent();
String p_Result = myIntent.getStringExtra(MyHostApduService.EXTRA_MESSAGE);
if ((p_Result != null) && (0 < p_Result.length())) {
HandleQRResult(p_Result);
}
}
};Így küldenék az activitynek üzenetet a kapott, APDU-ból kiszedett adatokkal:
Intent myIntent = new Intent(getBaseContext(),ActScanner.class);
byte[] rawdata = new byte[255];
System.arraycopy(apdu,5,rawdata,0,apdu.length - 5);
String message = new String(rawdata);
myIntent.putExtra(EXTRA_MESSAGE,message);
sendBroadcast(myIntent);A bajom egyelőre az, hogy a másik eszköz azt kapja, hogy nincs ami kezelje az AID-ot, amit beállítottam az alkalmazásban, és amit biztos nem kezel semmi más a telefonon. Ha ezen túllépnék, akkor jól csináltam a fentit, tehát miközben fut az activity, tud NFC-n is adatot fogadni az alkalmazás, és megtörténhet a kívánt esemény?
-
k.kristof
őstag
válasz lanszelot #3033 üzenetére
Nem akarok gonosz lenni, de ha megfogadtad volna a fenti tanácsokat (Java alapok megismerése), akkor rájönnél magadtól is, hogy hülyeséget kérdezel. A Java nyelvben az integer típus 32 bites, 2^32-1 a maximális értéke, ami pont tízjegyű. Ha ennél több számjegyű értéket adsz meg, akkor értelemszerűen hiba történik, amit nem kezel a program ezek szerint.
A long típus 64 bites, annak nagyobb az ábrázolható tartománya, aba írhatsz tíz jegyűnél több jegyű számot is.
[ Szerkesztve ]
-
k.kristof
őstag
válasz lanszelot #3039 üzenetére
INTEGER. The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value.
Ez nem okozna gondot, mivel az érték nagyságrendjétől függően választ tárolási méretet, ha jól értem, tehát ha kevés a 4 bájt, akkor 6 bájton fogja tárolni, amibe már belefér 11+ jegy. De ahogy thon73 is írta, nem ott van a hiba.
Új hozzászólás Aktív témák
- Milyen autót vegyek?
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Gaming notebook topik
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Otthoni hálózat és internet megosztás
- Házimozi haladó szinten
- SkyShowtime
- Autós topik látogatók beszélgetős, offolós topikja
- Milyen pendrive-ot vegyek?
- További aktív témák...