안녕하세요 NFC 관련 앱을 만들고 있는 학생입니다.
다름이 아니라 마이비 카드 정보를 읽은 후 그 정보를 이용해 그 정보가 일치하면 포인트를 누적할려고 하는데요
IF문을 넣으면 오류가 나요
도와주세요!!!!!!!!!!!!!!!
public class PointActivity extends Activity {
private TextView readnfc;
private NfcAdapter nfcAdapter;
private PendingIntent pendingIntent;
private final long FINSH_INTERVAL_TIME = 2000;
private long backPressedTime = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.point);
readnfc = (TextView)findViewById(R.id.readnfc);
nfcAdapter = NfcAdapter.getDefaultAdapter(this);
Intent intent = new Intent(this, getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);
}
//뒤로가기 버튼 터치시 종료되는 함수
public void onBackPressed(){
long tempTime = System.currentTimeMillis();
long intervalTime = tempTime - backPressedTime;
if(0<=intervalTime && FINSH_INTERVAL_TIME >= intervalTime){
finish();
System.exit(0);
android.os.Process.killProcess(android.os.Process.myPid());
ActivityManager am = (ActivityManager)getSystemService(ACTIVITY_SERVICE);
am.restartPackage(getPackageName());
}
else {
backPressedTime =tempTime;
Toast.makeText(getApplicationContext(),"뒤로 버튼을 한번 더 누르시면 종료됩니다.",Toast.LENGTH_SHORT).show();
}
}
//NFC 관련 함수
protected void onPause() {
if (nfcAdapter != null) {
nfcAdapter.disableForegroundDispatch(this);
}
super.onPause();
}
@Override
protected void onResume() {
super.onResume();
if (nfcAdapter != null) {
nfcAdapter.enableForegroundDispatch(this, pendingIntent, null, null);
}
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
if (tag != null) {
byte[] tagId = tag.getId();
readnfc.setText("TagID: " + toHexString(tagId));
}
if(tagId == E489FFE4){
HEX값을 넣으니까 빨간색으로 오류가 나네요
제가 하고 싶은거는 Tagid가 위의 정보와 일치하면 핸들러 기능을 이용해 확인 버튼을 누르고
다음 엑티비티로 인텐트 기능을 넣으려고 하는데요 잘 안되네요
도와주세요
}
}
//E489FFE4 마이비 카드
public static final String CHARS = "0123456789ABCDEF";
public static String toHexString(byte[] data) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < data.length; ++i) {
sb.append(CHARS.charAt((data[i] >> 4) & 0x0F))
.append(CHARS.charAt(data[i] & 0x0F));
}
return sb.toString();
}