增加qq音乐写入
This commit is contained in:
26
app/src/main/java/com/ttstd/elderlyassistant/activity/third_party/NfcQQMusicActivity.java
vendored
Normal file
26
app/src/main/java/com/ttstd/elderlyassistant/activity/third_party/NfcQQMusicActivity.java
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
package com.ttstd.elderlyassistant.activity.third_party;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
|
||||
import com.ttstd.elderlyassistant.R;
|
||||
|
||||
public class NfcQQMusicActivity extends AppCompatActivity {
|
||||
|
||||
private static final String TAG = "NfcQQMusicActivity";
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_nfc_qq_music);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onNewIntent(Intent intent) {
|
||||
super.onNewIntent(intent);
|
||||
Log.e(TAG, "onNewIntent: "+intent.getAction() );
|
||||
}
|
||||
}
|
||||
@@ -149,8 +149,27 @@ public class WriteMessageActivity extends AppCompatActivity {
|
||||
Toaster.showLong("请输入电话");
|
||||
return;
|
||||
}
|
||||
WriteMessageUtils.writePhoneToTag(mTag, editable.toString());
|
||||
String phone = editable.toString();
|
||||
if (!phone.startsWith("+86"))
|
||||
phone = "+86" + phone;
|
||||
WriteMessageUtils.writePhoneToTag(mTag, phone);
|
||||
}
|
||||
}
|
||||
|
||||
public void writeQqMusic(View view) {
|
||||
if (mTag == null) {
|
||||
Toaster.showLong("NFC卡片未连接");
|
||||
return;
|
||||
}
|
||||
WriteMessageUtils.writeUrlToTag(mTag, "qqmusic://qq.com/media/playSonglist?p={\"song\":[{\"songmid\":\"003Hr2m138zmPR\"}]}");
|
||||
}
|
||||
|
||||
public void writeQqMusicForIos(View view) {
|
||||
if (mTag == null) {
|
||||
Toaster.showLong("NFC卡片未连接");
|
||||
return;
|
||||
}
|
||||
WriteMessageUtils.writeUrlToTagIos(mTag, "qqmusic://qq.com/media/playSonglist?p={\"song\":[{\"songmid\":\"003aAPj81VWrbL\"}]}","com.tencent.qqmusic");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,10 +6,15 @@ import android.nfc.NdefMessage;
|
||||
import android.nfc.NdefRecord;
|
||||
import android.nfc.Tag;
|
||||
import android.nfc.tech.Ndef;
|
||||
import android.util.Log;
|
||||
|
||||
import com.hjq.toast.Toaster;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public class WriteMessageUtils {
|
||||
private static final String TAG = "WriteMessageUtils";
|
||||
|
||||
public static void writePhoneToTag(Tag tag, String phoneNumber) {
|
||||
// 构建tel:协议的URI
|
||||
Uri uri = Uri.parse("tel:" + phoneNumber);
|
||||
@@ -22,6 +27,7 @@ public class WriteMessageUtils {
|
||||
ndef.connect();
|
||||
ndef.writeNdefMessage(message); // 写入NDEF消息
|
||||
ndef.close();
|
||||
Toaster.show("写入联系人成功");
|
||||
} catch (IOException | FormatException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
@@ -38,8 +44,31 @@ public class WriteMessageUtils {
|
||||
ndef.connect();
|
||||
ndef.writeNdefMessage(message);
|
||||
ndef.close();
|
||||
Toaster.show("写入Url成功");
|
||||
} catch (IOException | FormatException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static void writeUrlToTagIos(Tag tag, String url, String pkg) {
|
||||
// 1. 创建HTTP Record(HTTPS链接)
|
||||
Uri uri = Uri.parse(url);
|
||||
NdefRecord httpRecord = NdefRecord.createUri(uri);
|
||||
|
||||
// 2. 创建Android应用包名Record
|
||||
NdefRecord androidRecord = NdefRecord.createApplicationRecord(pkg);
|
||||
|
||||
// 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());
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user