我正在編寫一個應用程序,可以使用URI方案來偵聽NFC標籤。從Android NFC獲取URI意圖
我有一個意圖過濾器:
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="[theschemeofmyuri]" />
</intent-filter>
和活動被正確地推出了針對我的NFC標籤。現在我寫的代碼邪惡塊,試圖提取URI,雖然我已刪除了錯誤處理,以使其更容易因此,閱讀:
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
NdefMessage[] msgs;
Parcelable[] rawMsgs = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
msgs = new NdefMessage[rawMsgs.length];
for (int i = 0; i < rawMsgs.length; i++) {
msgs[i] = (NdefMessage) rawMsgs[i];
}
NdefRecord[] recs = msgs[0].getRecords();
Log.i(TAG, new String(recs[0].getPayload(), "UTF-8"));
這似乎是打印出來了空字節在開始。
事情是,我知道URI已經被意圖過濾器的系統解析。我現在需要再次解析嗎?那麼這個空字節呢?我可以忽略它嗎?
真正的問題是,有沒有更簡單的方法?