如何将URL写入NFC标签,以便链接在读取时自动打开?
目前,我使用以下意图:
<activity
android:name="com.myapp.ReadTagActivity"
android:screenOrientation="portrait"
android:label="@string/title_activity_readtag"
android:parentActivityName=".MainActivity">
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="application/com.myapp" />
</intent-filter>
</activity>
如果写入操作进入URL www.google.com, read只会显示字符串。我想要的URL 而是在浏览器中打开。我该如何解决这个问题?
答案 0 :(得分:2)
您是否正在使用NDEF消息中的URL编写正确的NDEF记录?
比如使用辅助方法: http://developer.android.com/reference/android/nfc/NdefRecord.html#createUri%28android.net.Uri%29
如果您的NDEF记录只是纯文本,它将被视为纯文本。
答案 1 :(得分:2)
NfcAdapter mNfcAdapter = NfcAdapter.getDefaultAdapter(this);
Intent intent = getIntent();
Tag mytag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
Uri uri =Uri.parse("Your Url");
NdefRecord recordNFC =NdefRecord.createUri(uri);
NdefMessage message = new NdefMessage(recordNFC );
Ndef ndef = Ndef.get(tag);
ndef.connect();
ndef.writeNdefMessage(message);
ndef.close();
答案 2 :(得分:0)
这是在NFC标签中写入链接的代码。
ndef.connect();
NdefRecord mimeRecord = NdefRecord.createUri(linkPrefix + pageLink);
ndef.writeNdefMessage(new NdefMessage(mimeRecord));
ndef.close();
您可以将below
链接前缀写入 linkPrefix 字段
"http://www."
"https://www."
"ftps://"
"sftp://"
"smb://"
"nfs://"
"ftp://"
"dav://"
"file://"
并将页面链接写到 pageLink 字段