Use case or problem
I use Obidisan to keep the inventory of my electronics hobbyist workshop supplies. It is about 30 bins of various size storage in multiple bin rack systems, cataloging couple hundred parts, from cables to probes, consumables like flux, magnet wire, UV mask to passive circuit elements like capacitors, inductors, and resistors in quantities of thousands. Today every bin has a QR code that links to an obsidian:// URL, so I can scan it to not only see what is there, but also update as I use or move or lend some of them.
I want to be able to use NFC tags (very affordable at ~25¢/each) for even quicker access. I wrote the URLs on them, but turns out NFC tag reading requires its own dedicated intent-filter on Android. Obsidian doesn’t seem to have one.
Proposed solution
Add another intent filter for action android.nfc.action.NDEF_DISCOVERED to the AndroidManifest.xml
Something like:
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="obsidian" />
</intent-filter>
Relevant code references:
- Firefox on Android, receiving http and https scheme URLs: mozilla-central commit 751ec460
- Home Assistant Android receiving NFC read, write, and intent: github/home-assistant/android commit ec9ff0ae
New user cannot add links yet.
Current workaround (optional)
A tap-through-an-interstitial kind workaround exists but this otherwise unnecessary step slows this use case down.
Enabling Tags internal app as a fallback receiver on Android[*] allows eventually opening obsidian:// scheme URLs with Obsidian. Obviously
[*]: Settings > Apps > Special app access > Launch via NFC > Tags: Allowed