Platform
[ ] iOS
[X] Android
Obsidian Mobile version: v1.3.2
Use case or problem
On Android (I don’t know if also on iOS) links starting with obsidian://
are not recognized as links in many (most?) apps, e. g. in Google Keep and Docs, and thus cannot be opened.
Proposed solution
Register the mobile app to open links like http://local.obsidian.md/someMoreStuff
. Then translate the link to obsidian://someMoreStuff
and open that. E. g. the Evernote app has registered to open http://evernote.com
links. I know that Evernote has sync to the cloud baked in and Obsidian has not, but this solution would still work, even as a completely local solution, no server needed. These http://local.obsidian.md/someMoreStuff
links would work only if the app is installed and intercepts the link.
Example: Translate
http://local.obsidian.md/open?vault=MyVault&file=TheBestNoteEver
to
obsidian://open?vault=MyVault&file=TheBestNoteEver
Current workarounds
- You can create a page in Evernote, put the
obsidian://
link there (it works in Evernote) and then link to this Evernote page from any app, e. g. Google products.
- One could make a third-party app register these links and then call the
obsidian://
link.
1 Like
Evernote’s implemention of this works fully offline. I just tested that.
I found an open-source Android app which intercepts http-links to open in a defined app instead of the browser: GitHub - snarfed/open-in-app: UNMAINTAINED: Android app that makes Facebook, Twitter, etc. links open in their native apps instead of the browser.
The author says it is easy to add new apps and it looks easy, too. Most of the work would be setting up the Android dev environment.
This is the file where the infos for Obsidian must be added: open-in-app/apps.yaml at master · snarfed/open-in-app · GitHub
I have found a working solution.
Put the following file “r.html” onto a web server:
<!DOCTYPE html>
<head>
<meta charset="utf-8" />
<script type = "text/javascript">
document.write(window.location.search);
window.location.href = window.location.search.slice(1);
</script>
</head>
<body>
</body>
</html>
Then you can paste links like this and they will forward into the Obsidian app:
http://yourserver.com/r.html?obsidian://open?vault=o1&file=Favorites
If you want this offline, you have to install a http web server on your Android phone. The following one works, but I cannot recommend it, it has annyoing ads: https://play.google.com/store/apps/details?id=com.sylkat.apache&hl=de&gl=US&pli=1
If you find a better working one, please post it here. 
The app “Tiny Web Server” (or something like that) does not work, because it doesn’t seem to support URL parameters. Using the “Termux” app to install Apache didn’t work because it asked for a rooted device.
1 Like