40 lines
1.0 KiB
Plaintext
40 lines
1.0 KiB
Plaintext
|
#!/system/bin/sh
|
||
|
|
||
|
set -e -u
|
||
|
|
||
|
SCRIPTNAME=$0
|
||
|
show_usage () {
|
||
|
echo "usage: $SCRIPTNAME [OPTIONS] <output-file>"
|
||
|
echo ""
|
||
|
echo "Take a photo and save it in a file. Valid options:"
|
||
|
echo " -c, --camera <camera-id> the id of the camera to use"
|
||
|
echo "See the termux-camera-info for getting information about available cameras"
|
||
|
}
|
||
|
|
||
|
PARAM_CAMERA=""
|
||
|
PARAM_SIZE=""
|
||
|
O=`getopt -l camera: -l help -l size -- c:hs: "$@"`
|
||
|
eval set -- "$O"
|
||
|
while true; do
|
||
|
case "$1" in
|
||
|
-c|--camera) PARAM_CAMERA="--ei camera $2"; shift 2;;
|
||
|
-h|--help) show_usage; exit 0;;
|
||
|
-s|--size) PARAM_SIZE="--ei size_index $2"; shift 2;;
|
||
|
--) shift; break;;
|
||
|
*) echo Error; exit 1;;
|
||
|
esac
|
||
|
done
|
||
|
|
||
|
touch $1
|
||
|
FILE=`realpath $1`
|
||
|
|
||
|
# Output is like:
|
||
|
# Broadcasting: Intent { cmp=com.termux.extras/.SmsLister }
|
||
|
# Broadcast completed: result=13, data="http://fornwall.net"
|
||
|
OUTPUT=`LD_LIBRARY_PATH= am start --user 0 $PARAM_CAMERA $PARAM_SIZE --es file $FILE -n com.termux.extras/.PhotoActivity | grep result=1 | cut -d ' ' -f 4`
|
||
|
|
||
|
if [ $? != "0" ]; then
|
||
|
echo "ERROR: Failed, see logs"
|
||
|
exit 1
|
||
|
fi
|