diff --git a/doc/emacs/android.texi b/doc/emacs/android.texi index 383555a87c9..d831a7a1884 100644 --- a/doc/emacs/android.texi +++ b/doc/emacs/android.texi @@ -129,8 +129,7 @@ buffer. Since there is no other way to start the @command{emacsclient} program (@pxref{Emacs Server}) from another Android program, Emacs provides a wrapper around the @command{emacsclient} program, which is -registered with the system as an application that can open all text -files. +registered with the system as an application that can open any file. When that wrapper is selected as the program with which to open a file, it invokes @command{emacsclient} with the options @@ -154,6 +153,11 @@ directory, or try to open files in it yourself. case such files are copied to a temporary directory before being opened. +@cindex ``org-protocol'' links, android + In addition to opening ordinary text files, Emacs also registers its +@command{emacsclient} wrapper as a program capable of opening +``org-protocol'' links (@pxref{Protocols,,,org, The Org Manual}). + @node Android File System @section What Files Emacs Can Access on Android @cindex /assets directory, android diff --git a/java/AndroidManifest.xml.in b/java/AndroidManifest.xml.in index 2cbcdbc3e5b..21bb2af2530 100644 --- a/java/AndroidManifest.xml.in +++ b/java/AndroidManifest.xml.in @@ -107,73 +107,18 @@ along with GNU Emacs. If not, see . --> - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + diff --git a/java/org/gnu/emacs/EmacsOpenActivity.java b/java/org/gnu/emacs/EmacsOpenActivity.java index ea503ebd120..ca6d99e20b7 100644 --- a/java/org/gnu/emacs/EmacsOpenActivity.java +++ b/java/org/gnu/emacs/EmacsOpenActivity.java @@ -477,6 +477,10 @@ private class EmacsClientThread extends Thread } } } + else if (uri.getScheme ().equals ("org-protocol")) + /* URL is an org-protocol:// link, which is meant to be + directly relayed to emacsclient. */ + fileName = uri.toString (); if (fileName == null) {