优化通过scheme直接拨号和视频,增加数据加密。优化ContactInfo数据结构。优化无障碍流程
This commit is contained in:
@@ -15,60 +15,45 @@ import java.io.IOException;
|
||||
public class WriteMessageUtils {
|
||||
private static final String TAG = "WriteMessageUtils";
|
||||
|
||||
public static void writePhoneToTag(Tag tag, String phoneNumber) {
|
||||
public static void writePhoneToTag(Tag tag, String phoneNumber) throws Exception {
|
||||
// 构建tel:协议的URI
|
||||
Uri uri = Uri.parse("tel:" + phoneNumber);
|
||||
// 创建URI类型的NdefRecord
|
||||
NdefRecord uriRecord = NdefRecord.createUri(uri);
|
||||
NdefMessage message = new NdefMessage(new NdefRecord[]{uriRecord});
|
||||
|
||||
try {
|
||||
Ndef ndef = Ndef.get(tag);
|
||||
ndef.connect();
|
||||
ndef.writeNdefMessage(message); // 写入NDEF消息
|
||||
ndef.close();
|
||||
Toaster.show("写入联系人成功");
|
||||
} catch (IOException | FormatException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
Ndef ndef = Ndef.get(tag);
|
||||
ndef.connect();
|
||||
ndef.writeNdefMessage(message); // 写入NDEF消息
|
||||
ndef.close();
|
||||
|
||||
}
|
||||
|
||||
public static void writeUrlToTag(Tag tag, String url) {
|
||||
public static void writeUrlToTag(Tag tag, String url) throws Exception {
|
||||
// 确保URL包含协议(如http://)
|
||||
Uri uri = Uri.parse(url);
|
||||
NdefRecord uriRecord = NdefRecord.createUri(uri);
|
||||
NdefMessage message = new NdefMessage(new NdefRecord[]{uriRecord});
|
||||
|
||||
try {
|
||||
Ndef ndef = Ndef.get(tag);
|
||||
ndef.connect();
|
||||
ndef.writeNdefMessage(message);
|
||||
ndef.close();
|
||||
Toaster.show("写入Url成功");
|
||||
} catch (IOException | FormatException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
Ndef ndef = Ndef.get(tag);
|
||||
ndef.connect();
|
||||
ndef.writeNdefMessage(message);
|
||||
ndef.close();
|
||||
}
|
||||
|
||||
public static void writeUrlToTagIos(Tag tag, String url, String pkg) {
|
||||
public static void writeUrlAddPackage(Tag tag, String url, String pkg) throws Exception {
|
||||
Log.e(TAG, "writeUrlAddPackage: url = " + url);
|
||||
String fixedUrl = url.replace("+", "%2B"); // 替换 + 为 %2B
|
||||
// 1. 创建HTTP Record(HTTPS链接)
|
||||
Uri uri = Uri.parse(url);
|
||||
Uri uri = Uri.parse(fixedUrl);
|
||||
NdefRecord httpRecord = NdefRecord.createUri(uri);
|
||||
|
||||
// 2. 创建Android应用包名Record
|
||||
// 2. 创建Android应用包名Record
|
||||
NdefRecord androidRecord = NdefRecord.createApplicationRecord(pkg);
|
||||
|
||||
// 3. 按顺序组合记录
|
||||
// 3. 按顺序组合记录
|
||||
NdefMessage message = new NdefMessage(new NdefRecord[]{httpRecord, androidRecord});
|
||||
|
||||
// 4. 写入NFC标签
|
||||
try {
|
||||
Ndef ndef = Ndef.get(tag); // 获取标签对象
|
||||
ndef.connect();
|
||||
ndef.writeNdefMessage(message);
|
||||
} catch (Exception e) {
|
||||
Log.e(TAG, "writeUrlToTagIos: " + e.getMessage());
|
||||
}
|
||||
|
||||
// 4. 写入NFC标签
|
||||
Ndef ndef = Ndef.get(tag); // 获取标签对象
|
||||
ndef.connect();
|
||||
ndef.writeNdefMessage(message);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user