chiark / gitweb /
termux-tools: Add termux-open
authorFredrik Fornwall <fredrik@fornwall.net>
Mon, 27 Feb 2017 23:15:22 +0000 (00:15 +0100)
committerFredrik Fornwall <fredrik@fornwall.net>
Mon, 27 Feb 2017 23:15:22 +0000 (00:15 +0100)
packages/termux-tools/termux-open [new file with mode: 0755]

diff --git a/packages/termux-tools/termux-open b/packages/termux-tools/termux-open
new file mode 100755 (executable)
index 0000000..aaa7bd0
--- /dev/null
@@ -0,0 +1,44 @@
+#!/data/data/com.termux/files/usr/bin/sh
+set -e -u
+
+SCRIPTNAME=termux-open
+show_usage () {
+    echo "Usage: $SCRIPTNAME [options] path-or-url"
+    echo "Open a file or URL in an external app."
+    echo "  --send               if the file should be shared for sending"
+    echo "  --view               if the file should be shared for viewing (default)"
+    echo "  --chooser            if an app chooser should always be shown"
+    echo "  --content-type type  specify the content type to use"
+    exit 0
+}
+
+TEMP=`busybox getopt \
+     -n $SCRIPTNAME \
+     -o h \
+     --long send,view,chooser,content-type:,\
+     -- "$@"`
+eval set -- "$TEMP"
+
+ACTION=android.intent.action.VIEW
+EXTRAS=""
+while true; do
+       case "$1" in
+               --send) ACTION="android.intent.action.SEND"; shift;;
+               --view) ACTION="android.intent.action.VIEW"; shift;;
+               --chooser) EXTRAS="$EXTRAS --ez chooser true"; shift;;
+               --content-type) EXTRAS="$EXTRAS --es content-type $2"; shift 2;;
+               -h | --help) show_usage;;
+               --) shift; break ;;
+       esac
+done
+if [ $# != 1 ]; then
+       show_usage
+fi
+
+am broadcast --user 0 \
+       -a $ACTION \
+       -n com.termux/com.termux.app.TermuxOpenReceiver \
+       $EXTRAS \
+       -d "$1" \
+       > /dev/null
+