2013-08-19 4 views
0

Я пытаюсь определить уникальный идентификатор NFC тег на андроид, используя следующий код:Определение NFC теги ID

@SuppressLint("NewApi") 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
Tag myTag = (Tag) getIntent().getParcelableExtra(NfcAdapter.EXTRA_TAG); 
String nFCID = myTag.getId().toString(); 
Toast.makeText(getApplicationContext(), "NFC id is: "+ nFCID, Toast.LENGTH_SHORT).show();  
} 

К сожалению, когда я развернуть приложение на реальном устройстве и сканирования метки NFC, мой приложение выйдет из строя, заявив: «К сожалению, xyz должен остановиться ...». Я знаю, что getID() вернет массив байтов, и я должен проанализировать его на String. Но, по крайней мере, я ожидаю, что этот код вернет некоторые значения, а не сбой приложения. Есть идеи, как это исправить?

Отредактированные: LogCat выходы:

W/dalvikvm(25548): threadid=1: thread exiting with uncaught exception group=0x41b652a0) 
E/AndroidRuntime(25548): FATAL EXCEPTION: main 
E/AndroidRuntime(25548): java.lang.RuntimeException: 
Unable to start activity ComponentInfo{com.xyz.nfcid/com.xyz.nfcid.MainActivity}: 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2100) 
+0

Вы уверены, что myTag не имеет значения? – dymmeh

+0

Что произойдет, если вы сделаете это на onResume()? – ThomasRS

ответ

0

Я довольно уверен, что тег является недействительным. Вы должны проверить действие Строка первого

String action = intent.getAction(); 
if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action)) { 
    //... do something 
} 

Я написал полный tutorial, который должен помочь вам.

+0

Я уверен, что тег не равен нулю. Используя приложение «NFC TagInfo», я проверил, что у тега есть сообщение NDEF, чтобы начать основное действие моего приложения. Теперь я проведу урок. – Dangila

+0

В чем причина исключения? Пожалуйста, предоставьте нам стек. – vRallev

+0

просто добавил выход LogCat в главный вопрос. – Dangila

Смежные вопросы