第一步新增許可權:第二步:在需要讀取卡內容的地方寫下面的內容
@suppresslint("newapi")第三步設定過濾器:@override
protected void onresume()
@suppresslint("newapi")
@override
protected void onpause()
@override
protected void onnewintent(intent intent) else
} catch (unsupportedencodingexception e) catch (exception e)
}public class nfcutils
/*** 檢查nfc是否開啟
*/public static nfcadapter nfccheck(activity activity) else
}return mnfcadapter;
}/**
* 初始化nfc設定
*/public static void nfcinit(activity activity) catch (intentfilter.malformedmimetypeexception e)
mintentfilter = new intentfilter;
mtechlist = null;
}/**
* 讀取nfc的資料
* 接下來要詳細的介紹android是如何處理ndef格式的標籤的。當android裝置掃瞄到包含ndef格式資料的nfc標籤時,
* 它會解析該訊息,並嘗試搞清楚資料的mime型別或uri標識。首先系統會讀取訊息(ndefmessage)中的第一條ndefrecord,來判斷如何解釋整個ndef訊息(乙個ndef訊息能夠有多條ndef記錄)。
* 在格式良好的ndef訊息中,第一條ndefrecord包含以下字段資訊:
* 1)3-bit tnf(型別名稱格式) 指示如何解釋可變長度型別字段,在下表1中介紹有效值。
*/public static string readnfcfromtag(intent intent) throws unsupportedencodingexception
}return "";
}/**
* 往nfc寫入資料
*/@requiresapi(api = build.version_codes.lollipop)
public static void writenfctotag(string data, intent intent) throws ioexception, formatexception ;
ndefmessage ndefmessage = new ndefmessage(records);
ndef.writendefmessage(ndefmessage);
}/**
* 讀取nfcid
*/public static string readnfcid(intent intent) throws unsupportedencodingexception
/*** 將位元組陣列轉換為字串
*/private static string bytearraytohexstring(byte inarray) ;
string out = "";
for (j = 0; j < inarray.length; ++j)
return out;
}}
過濾器的設定(三種模式):
第一種模式:優先順序最高。先判斷是不是ndef_discovered格式的資料,再判斷ndef_discovered資料的型別,只有與過濾器中兩個條件都要求的一致,才會選擇滿足的activity 來處理。
第二種模式:優先順序最低。只要滿足nfc規範中的任一種則都就會響應。第二種模式:優先順序次於第一種模式。滿足tech_discovered的設定,才會選擇滿足的activity 來處理。
r與 n以及 r n的區別
r是回車,英文是carriage return,表示使游標下移一格。n是換行,英文是new line,表示使游標到行首。r n表示回車換行。1 n軟回車 在windows 中表示換行且回到下一行的最開始位置。相當於mac os 裡的 r 的效果。在linux unix 中只表示換行,但不會回到下一行...
N皇后解法以及位運算優化
觀察棋盤,要求皇后之間不能處在同行同列同一條斜線,求使得每行都有乙個皇后的放置方法共有多少種。每嘗試放置乙個皇后,都可以把該位置所在的行 列標號用乙個陣列標記,含義表示該行該列已經被占用,同時所在斜列也要進行標記。所在斜線有左斜線和右斜線兩種,畫個 釋一下。舉個栗子,對於 2,0 這個點,他所在左斜...
獲得前n天和後n天日期以及獲得前n月和後n月的日期
一 獲得前n天和後n天日期 1 countdays 2 代表過去 代表將來 2function countdays day 14if strday 10 17 alert stryear strmonth strday 將計算的時間賦值給defaultdate 1819 2021 2223 2425...