Android Studi安卓读写NDEF智能海报源码

Android Studi安卓读写NDEF智能海报源码_第1张图片

本示例使用的发卡器:https://item.taobao.com/item.htm?id=615391857885&spm=a1z10.5-c.w4002-21818769070.11.1f60789ey1EsPH




    

        

        

    

    


    

        

            

            

            

            

            

            

 

package com.usbreadertest;

import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

import com.reader.ourmifare;

public class NdefURLActivity extends AppCompatActivity {
    private TextView tv;
    private Spinner ctrselefix;
    private EditText ctrtitle;
    private EditText ctrurlinf;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_ndef_url);

        androidx.appcompat.widget.Toolbar toolbar=findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        tv = findViewById(R.id.sample_text);
        tv.setText("操作结果");

        ctrselefix=findViewById(R.id.spin_Selurlprefix);
        ctrselefix.setSelection(2);

        ctrurlinf=findViewById(R.id.edittexturl);
        ctrurlinf.requestFocus();

        ctrtitle=findViewById(R.id.Edittexttitle);
    }

    @Override
    public void onBackPressed(){
        super.onBackPressed();
        finish();
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if(item.getItemId()==android.R.id.home){
            finish();
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

    public void retmain(View view)
    {
        finish();
    }

    public void writeurltag(View view)  throws Exception  {
        String languagecodestr="en";
        byte[] languagecodebyte= languagecodestr.getBytes("gb2312");
        int languagecodestrlen=languagecodebyte.length;

        String urltstr=ctrurlinf.getText().toString().trim();
        if(urltstr.length()<1){
            tv.setText("请输入要写入的网址!");
            ctrurlinf.requestFocus();
            return;
        }
        byte[] urlbyte=urltstr.getBytes();
        int  urllen=urlbyte.length;

        String titletstr=ctrtitle.getText().toString().trim();
        byte[] titlebyte=titletstr.getBytes();
        int titlelen=titlebyte.length;

        byte urlheaderindex = (byte)(ctrselefix.getSelectedItemId());

        ourmifare.tagbufclear();    //先清空NDEF数据缓冲
        byte status=ourmifare.tagbufadduri(languagecodebyte,languagecodestrlen,titlebyte,titlelen,urlheaderindex,urlbyte,urllen);   //生成NDEF数据缓冲
        if (status==0){
            int tagtype=NdefTextActivity.CheckCardType();    //检测发卡器上标签类型
            if(tagtype==-1){
                tv.setText("发卡器感应区未发现有效的NDEF标签!");
                return;
            }
            byte[] mypiccserial=new byte[8];
            status=NdefTextActivity.WriteTag(tagtype,mypiccserial);   //将已生成的NDEF数据写入不同的标签内
            String dispinfo=NdefTextActivity.dispwritetag(status ,mypiccserial,tagtype);
            tv.setText(dispinfo);
        }
    }
}

你可能感兴趣的:(IC读写器,18002295132,QQ:954486673,android,安卓,NDEF,智能海报,Java,NFC)