Лош съвет, проблем #4
Не се разстройвайте, ако
Обади се на мама на училище
Доведете цялото семейство...
(Григори Остер)
Адамс семейство Android
Третият вариант е интересен и доста лесен за изпълнение.
Не преоткрих колелото и просто реших да взема готови данни от тази програма. Това вече изисква
USSD Dual Widget съхранява данните, от които се нуждаем, в своята база данни по пътя /data/data/com.mdnsoft.ussddualwidgetpro/databases/Data.db (пътят е посочен за Pro версията)
Ето как изглежда основата отвътре:
Изтегляме данните в задачата (да я наречем USSDbalance) tasker: Script->Run shell
За първата SIM карта:
sqlite3 /data/data/com.mdnsoft.ussddualwidgetpro/databases/Data.db 'изберете СТОЙНОСТ от vStat param=1 ред по _id desc limit 1'
Стартирайте с права на root.
Ние съхраняваме резултата в нашата променлива: съхранявайте изхода в->%BALANCE1
За втора SIM карта:
sqlite3 /data/data/com.mdnsoft.ussddualwidgetpro/databases/Data.db 'изберете СТОЙНОСТ от vStat param=2 ред по _id desc limit 1'
Стартирайте с права на root.
Ние съхраняваме резултата в нашата променлива: съхранявайте изхода в->%BALANCE2
Свършихме най-трудната част, сега остават малки неща. Трябва да получим данни в нашите променливи, след като те бъдат актуализирани в базата данни. Решението на този проблем също има няколко опции, реших просто да "наблюдавам" файла на базата данни за промени. Tasker има функция за това: Събитие (събитие) ->Файл (файл) ->Файл модифициран (файл модифициран). Но нямах късмет, Tasker не видя файла, от който се нуждаех в / data / data / ... (на някои версии на Android и някои фърмуери тази грешка все още не е разрешена). Изглежда, че това състояниеможе да влезе в ступор или да ви накара да потърсите друго решение (първо изпаднах в ступор и след това започнах да търся изход). Както винаги, Root и busybox се притекоха на помощ. Този ред е решението на този проблем:
inotifyd - /data/data/com.mdnsoft.ussddualwidgetpro/databases/Data.db:c докато чете кода; do am broadcast -a net.dinglisch.android.tasker.ACTION_TASK -e име на задача USSDbalance; готово &
(може да използва grep и/или awk)
inotifyd - команда от busybox, която ви позволява да наблюдавате отварянето, промяната на файлове и т.н.;
/data/data/com.mdnsoft.ussddualwidgetpro/databases/Data.db е файлът, който наблюдаваме;
:c - ключ, който филтрира само промените във файла (в нашия случай записът в Data.db);
при четене на код; do am broadcast -a net.dinglisch.android.tasker.ACTION_TASK -e име на задача USSDbalance; готово - в случай на промяна на файла, изпълнете нашата USSDbalance задача;
& - в края на реда ще принуди нашия екип да виси постоянно в паметта и да следи промените.
Има безплатна опция за изпращане на имейл от Tasker, но за това трябва да инсталирате „слой“ и един от интерпретаторите, които са удобни за вас, например python. Мисля, че това може да изглежда трудно за мнозина и обемът на статията ще се доближи до критична стойност. Затова предлагам да тръгнем по по-лесния начин, но лесният начин си има цена: Locale SendSilentMail Plug-In. В текущата задача, след реда за проверка на критичната стойност: Plugin->SendSilentMail, задайте по ваш вкус (можете например да изпратите текущата стойност на "проблемния" баланс).
Създайте задача за този профил:
На някои може да изглежда, че определен CM готви каша от брадва (в този контекст това не е CyanogenMod, вижте фигурата по-долу), но трудно в тази задача и нейното решениеняма нищо.