huashao6 2014-07-10 03:31 采纳率: 0%
浏览 1865

andorid NFC开发问题 在有第三方NFC应用时,检测到NFC标签时自动选择我的NFC应用

最近在搞android NFC应用开发,我把输入的文本写入NFC标签后,请问在有第三方NFC应用程序的情况下,在手机桌面检测到NFC标签后能自动弹出一个弹出框显示NFC标签里的文本,而不需要选择NFC程序。请有这方面经验的大神指点下。

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-02 06:35
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这个问题可以通过使用Android NfcAdapter和Intent来解决。以下是一个简单的示例:

    public class MainActivity extends AppCompatActivity {
    
        private static final String TAG = "MainActivity";
        private NdefMessage message;
        private NdefWriter writer;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            // 初始化NDEF消息
            message = new NdefMessage(new byte[] {0x02, 0x01});
            message.addDefaultPayload(new NdefRecord(NdefRecord.TNF, new byte[] {0x02, 0x03}, new byte[] {0x04}));
    
            // 创建NDEFWriter实例
            writer = new NdefWriter();
        }
    
        @Override
        protected void onResume() {
            super.onResume();
    
            Intent intent = new Intent(Intent.ACTION_NDEF_DISCOVERED);
            intent.putExtra(NdefActivity.EXTRA_MESSAGE, message.toByteArray());
            sendBroadcast(intent);
        }
    }
    

    在这个例子中,我们首先创建了一个NdefMessage并添加了一个默认的payload,然后创建了一个NdefWriter实例。然后,我们在onResume方法中发送了一个广播,其中包含我们的NdefMessage作为参数。

    当有新的NDEF记录被发现时,这个广播会被接收,并且我们可以从intent中获取我们的NdefMessage。

    注意:这只是一个基本的例子,实际的应用可能需要处理更多的情况,例如错误处理、数据校验等。

    评论

报告相同问题?