You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

98 lines
3.0 KiB
Java

6 months ago
package com.example.writeepc.base;
5 months ago
import android.app.ProgressDialog;
6 months ago
import android.media.MediaPlayer;
import android.os.Bundle;
import android.util.Log;
5 months ago
import android.view.Window;
6 months ago
import android.widget.Toast;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
5 months ago
import com.example.writeepc.dialog.TipsDialog;
6 months ago
import com.handheld.uhfr.UHFRManager;
import com.uhf.api.cls.Reader;
import cn.pda.serialport.Tools;
public class BaseActivity extends AppCompatActivity {
public UHFRManager uhfrManager;
public byte[] accesspwd;
public short timeOut = 2000;
public MediaPlayer music;
5 months ago
public ProgressDialog dialog;
public TipsDialog tipsDialog;
6 months ago
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
5 months ago
tipsDialog=new TipsDialog(this);
}
public void initDialog() {
dialog = new ProgressDialog(this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setCanceledOnTouchOutside(false);
dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
dialog.setMessage("请求接口中...");
6 months ago
}
public void initUHFRManager() {
uhfrManager = UHFRManager.getInstance();
uhfrManager.setGen2session(false);
5 months ago
uhfrManager.setPower(30, 30);
6 months ago
accesspwd = Tools.HexString2Bytes("00000000");
music = MediaPlayer.create(this, com.example.writeepc.R.raw.msg);
// int[] power = uhfrManager.getPower();
// Log.e("TAG", "initUHFRManager:" + power[0]);
// Log.e("TAG", "initUHFRManager:" + power[1]);
}
// 1- 读取TID
public void readTid() {
byte[] rdata = new byte[12];
Reader.READER_ERR readerErr = uhfrManager.getTagData(2, 0, 6, rdata, accesspwd, timeOut);
Log.e("TAG", "readTid:" + readerErr.name());
if (readerErr == Reader.READER_ERR.MT_OK_ERR) {
music.start();
5 months ago
readTidReault(true, Tools.Bytes2HexString(rdata, 12), rdata);
6 months ago
} else {
Toast.makeText(this, "读取失败", Toast.LENGTH_SHORT).show();
readTidReault(false, null, null);
}
}
5 months ago
// 1- 读取EPC
6 months ago
public void readEPC(int lenth) {
byte[] rdata = new byte[lenth];
5 months ago
Reader.READER_ERR readerErr = uhfrManager.getTagData(1, 2, lenth / 2, rdata, accesspwd, timeOut);
6 months ago
Log.e("TAG", "readTid:" + readerErr.name());
if (readerErr == Reader.READER_ERR.MT_OK_ERR) {
music.start();
5 months ago
readTidReault(true, Tools.Bytes2HexString(rdata, lenth), rdata);
6 months ago
} else {
Toast.makeText(this, "读取失败", Toast.LENGTH_SHORT).show();
readTidReault(false, null, null);
}
}
5 months ago
protected void readTidReault(boolean readState, String result, byte[] rdata) {
6 months ago
}
@Override
protected void onDestroy() {
super.onDestroy();
5 months ago
if (uhfrManager != null) {
6 months ago
uhfrManager.close();
5 months ago
uhfrManager = null;
6 months ago
}
}
}