我有一个应用程序,在调用时,将调用它的字符串输出到Toast通知中。
像这样:
am start -a android.intent.action.MAIN -e message "Example String" -n com.rja.utility/.ShowToast
我想创建一个for循环,它会循环遍历.txt文件中的行并使用上面的方法输出它们,如下所示:
for i in `cat /somedirectory/ToastQueue.txt`; do
am start -a android.intent.action.MAIN -e message "$i" -n com.rja.utility/.ShowToast > dev/null
done
但显然不起作用,它抱怨我有额外的参数。
所以我的问题是,我怎么能做到这一点?我无法修改应用,所以这一切都应该通过shell或ADB来完成
答案 0 :(得分:1)
所以我得到了它的工作:
for i in `cat /somedirectory/ToastQueue.txt`; do
i="\"$i\""
eval "am start -a android.intent.action.MAIN -e message $i -n com.rja.utility/.ShowToast > dev/null"
done
如果邮件中有空格,则必须引用该邮件,但是您无法在eval中引用该邮件或者将其退出,因此我们在将其传递给应用程序之前引用它。