Думаю, что требования 1) и 2), это два разных уровня.Req.1) находится на уровне программирования Android / NFC, используя TNF_WELL_KNOWN и RTD-SMART_POSTER (так как это URL, использование RTD_URI работает правильно).
вот некоторый код:
private NdefRecord createRecord(String text)
throws UnsupportedEncodingException {
//Intent intent = getIntent();
//EditText editTextWeb = (EditText)
EditText editText = (EditText) findViewById(R.id.editTextWeblinks);
String webLink = editText.getText().toString();
byte[] uriField = webLink.getBytes(Charset.forName("US-ASCII"));
byte[] payload = new byte[uriField.length + 1]; //1 =URIPrefix
payload[0] = 0x01; //http://www. to the URI
System.arraycopy(uriField, 0, payload, 1, uriField.length); //appends URI to payload
NdefRecord rtdUriRecord = new NdefRecord(
NdefRecord.TNF_WELL_KNOWN, NdefRecord.RTD_URI, new byte[0], payload);
return rtdUriRecord;
}
По требованию2 у нас есть сложная часть.с помощью API Android / NFC вы можете идентифицировать каждый тег, который вы пишете, но вы не можете добавить своего рода логику счетчика программ в тег NF, эту функцию необходимо выполнять во внешнем приложении (назовите его на Android, ПК, Mac, пользовательскомустройства и т.Простой способ сделать это: создать простое приложение на компьютерах кассиров для сканирования штрих-кода (загруженного изображения) и написать счетчик с этим событием.
надеюсь, это поможет.