Android内の通知の非アクティブ化を追跡しようとしています。これは、x秒ごとに通知dumpsysをポーリングすることで実行することを計画していました。そこで、通知を変数に入れて、$ tmp変数でテキスト(この場合はgoogle.gm)を検索できるようにしました。これに基づいて、$Gmailがtrueまたはfalseに設定されます。
PCでCygwinターミナルを介してスクリプトのセットアップをテストしたところ、うまく機能しましたが、Androidでは機能しませんでした
dumpsys通知を$tmpに取り込むことは正常に機能しますが、Androidで(シェルで)テストすると、*ワイルドカードを受け入れたくないようです。
tmp=$(dumpsys notification)
[[ "$tmp" == *"google.gm"* ]] && Gmail=true || Gmail=false
私はこの2時間ウェブを検索してきましたが、それはちょっと私を夢中にさせるでしょう。私はそれをデバッグするために単純化されたテストを行いました、そしてそれは本当にワイルドカード文字にあるようです
誰かが私が間違っていることを見ていますか?
新しい提案の後、私はそれからこれを作ることができました:
tmp=$(dumpsys notification)
case $tmp in *notify_missed_call*) PRF1="1" ;; *) PRF1="0" ;; esac
case $tmp in *conv_notify*) PRF2="1" ;; *) PRF2="0" ;; esac
case $tmp in *NotYetThere*) PRF3="1" ;; *) PRF3="0" ;; esac
case $tmp in *stat_notify_calendar*) PRF4="1" ;; *) PRF4="0" ;; esac
echo $PRF1,$PRF2,$PRF3,$PRF4, > /sdcard/tmp.txt
しかし、どういうわけか、;で1行に配置した場合にのみ機能します。それらの間の。この作業を複数行にして(保守が容易に)最適化する方法はありますか?
ありがとう