Tasker 質問スレ 17
■ このスレッドは過去ログ倉庫に格納されています
レス番号998で追加質問するってチキンレース見てるようでハラハラするなw 一旦お礼言って追加で質問あるので新スレ移動しますね。じゃないのな 再質問すればいい 「前スレ埋まり間際の質問だったので再度質問させてください」とか書いてりゃ文句もまずなかろ ここしばらくはAutoNotificationネタばかりでちょっとこれでいいんか?と少し考えてしまう 自分でAutoNotification Cancelとか答えてて何言ってんだとも思うが すいません前スレ>>998 です レス番気にしてませんでした これまでスレを見ていて追加質問があまり良いものでは無いと感じていましたが あの程度なら大丈夫かな?と思いしてしまいました 以後、気をつけます スレタイ変わってるからお気に入り追加されないじゃないか ●Tasker有無: 購入済み ●Androidバージョン:6.0 ●root有無: なし ●やりたいこと ツイート通知受信時に特定の文字列が入っていた時に音を鳴らす 具体的には 自分の名前(仮:たかひろ、たかひー、隆弘など)を呼んだ(ツイート)したときに 音を鳴らしたいです ●やってみたこと 「PROFILES」→「+」→「Event」→「UI」→「Notification」→「Owner Application」→「Twtterを選択」 Text部分に「*隆弘*」を指定 これで「おーい隆弘〜!」のテストツイートで音を鳴らすことができたのですが http://tasker-userguide.pralin.info/misc.php のMatching Rules (マッチング規則)を参考に「*隆弘*/*たかひろ*」と指定すると 「おーい隆弘〜!」のテストツイートで音が鳴らなくなってしまいました ●わからないこと(知りたいこと) 「/」では「〇〇または××」という指定は出来ないのでしょうか 初歩的な質問ですみません すみませんちゃんと設定したら>>10 の設定でちゃんと音が鳴りました どこがダメだったのか原因は不明ですがもう少し勉強してきます スレ汚しすみませんでした ●Tasker有無: 購入済み ●Androidバージョン:4.4.2 ●root有無: なし ●やりたいこと 現在の時刻の変数を作成したい 例えば午後1時30分20秒なら 133020 という形式で作成したい ●やってみたこと %TIMESをVariable Convert Actionで変換しても秒までは対応しておらず悩んでいます >>12 最善策わからないけど秒の取得なら Variable setでDo Mathsにチェック入れて%TIMES%60で取得できそう ありがとうございます >>13 こんなに簡単にできたとは凄い %60の変数は変数一覧にもなくて初めて知ったんですがどういった変数ですか? >>14 汎用Taskとても参考になります >>16 剰余の%だったんですね それにしても60の剰余で秒とか発想が凄い ありがとうございました 非root 。contextに音量長押しがないようですがプラグインで追加できるんでしょうか 音量ダウン長押しで曲送りがしたいです ●Tasker有無: 購入済み ●Androidバージョン:7.0 ●root有無: なし ●やりたいこと googleカレンダーの予定が終了した時に、アプリ起動 ●やってみたこと state→app→calender entryで予定開始時にアプリ起動は出来たのですか、終了時の指定がわかりません。 >>19 Exit Taskにアプリ起動Taskを設定したらどうだろうか ●Tasker有無: 購入済み ●Androidバージョン:7.1.2 ●root有無: あり ●やりたいこと Bluetoothイヤホンで電話が来た時にボタンを押すと受話できますが IP電話だと出来ないので出来るようにしたい ●やってみたこと AutoInputで受話ボタンのタッチは出来ましたが Bluetoothイヤホンのボタンを押したときという判定が出来ません。 ●わからないこと Bluetoothイヤホンの再生ボタンを押したときという判定は Taskerから出来るのでしょうか? たしかIP電話アプリ側のフォローが必要だったような 050plusとかそう アプリは明記しないと話になんないかもね あと似た話が前スレにあった気がする ●Tasker有無: 購入済み ●Androidバージョン:8.0.0 ●root有無: なし ●やりたいこと 現在AutoNotificationのQuery Actionで取得できる変数一覧をテキスト出力させるTaskを作成しています 例えば配列%antitle()に格納されていたら下記のように出力させたい ※最初は内容表示なし [%antitle()] [%antitle1]内容1 [%antitle2]内容2 … [%antext()] … ●やってみたこと Intercept Contextについては力技でなんとか完成できました https://1drv.ms/f/s!Atxy5rVm4jtvl0Iywpfzqvy-oL0X Query Actionについてはすべて配列なのでFor Actionで工夫できないかと考えて下記のテストTaskを作成してみました ここで分からないのがA4です %task()について、●→▲→■とはFlashされず、変数名がそのまま表示されてしまいます 要は●やりたいことをやりたいんですが、何かいい方法はないでしょうか? Verification VI (52) A1: Array Set [ Variable Array:%array Values:\%antitle(),\%task(),\%antext() Splitter:, ] A2: Array Set [ Variable Array:%task Values:●,▲,■ Splitter:, ] A3: For [ Variable:%check Items:%array() ] A4: Flash [ Text:%check Long:Off ] A5: End For 前スレ983について原因が分かりました EVENTのAutoNotification InterceptでOnly Created Notificationsにしてはいますが受信した瞬間的に3度反応していました その瞬間的な3度のInterceptの内の最後の変数を調べていたからGet All Fieldsが効いてないかのようだったみたいです Oreo通知の仕様なのかは分かりませんが >>24 のTaskは瞬間的な通知でもテキスト出力できるようにしたのでよかったら >>22 ありがとうございます 前スレとは別の解決方法ですがTouch Taskというプラグインで キー判定が出来ましたので自己解決できました ●Tasker有無: 購入済み ●Androidバージョン: 7.1.3 ●root有無: あり ●やりたいこと ゲーム起動時に本体設定のマナーモード(重要な通知のみ)を起動する、もしくは通知のブロックをしたいです。また、ゲーム終了時に通知を音にしたいのですが、Select Action Categoryにそのようなことが可能なコマンドはありますか? >>27 ありがとうございます 配列は9個を前提とされているようですが10個以上の場合もないですか? ちなみに>>24 のA4を「●→▲→■」と表示できないのはなぜなんでしょうか? >>29 横からだけど > A2: Array Set [ Variable Array:%task Values:●,▲,■ Splitter:, ] Splitterは半角なのに配列の区切りは全角だからじゃ? >>30 そう見えますよね ちゃんとどちらも半角コンマです >>32 凄い多くなってしまいますよね なので「Variable Add」でカウントさせるのはできたんですが 配列自体をForで回す方法が分からなくて >>24 下記のような Task を組めばよい. A1: Array Set [ Variable Array:%names Values:anapp,antitle,antext Splitter:, ] A2: For [ Variable:%name Items:%names() ] A3: Array Set [ Variable Array:%items Values:%%name() Splitter:, ] A4: For [ Variable:%item Items:%items() ] A5: Flash [ Text:%item Long:Off ] A6: End For A7: End For >>33 A1とA2の順番を逆にすれば動くと思いますよ。 あと、Foreachループを使っていますけど、%ansubtext()で 参照するとサブテキストがある要素しか取得できないので、 Forループを使った方が良いと思います。 https://i.imgur.com/khbyYBB.jpg ドットのはFlash爆撃になるんじゃないか? 入力量をコントロールできるわけでなし試用用としてもすこし疑問 ちょっと整形し一つの変数に追記させてその変数を最後にFlashするほうが理解しやすいかな >>34 なるほどItemで配列に仕上げて回すってことなんですね やっぱ凄いわ考えもしなかった >>35 順番が変だったとは残念過ぎる それとForeachループとForループ違いやってみます それにしても面白い 続きを作ってみます お2方ありがとうございました >>32 あ、ミスった。 「 = %」を「 = \%」に置換してから使わないと、変数名の部分が変換されちゃうわ;;; >>38 この様なレイアウトも見やすいですね ありがとうございました >>28 Action>Audio>Do Not Disturb を使えばよい. タスカーの購入有無とか書く必要あんの? ごちゃごちゃして見にくいだけじゃね? >>41 なぜ必要かも分からないなら黙ってろ無知で無能なオマエでも、黙ってる事位は出来るだろ >>41 逆に足りない頭で考えてみるんだ。 なぜ必要なのかを。 >>34 やってみましたがA3がエラーで停まってしまいます なのでA3のValuesを%nameに変更すると走るんですが意図したFlashになりません 下記のTaskではA2の時点で%anapp配列は下記のようにFlashされます Tasker,AutoInput,Androidシステム そしてA7では下記のようにFlashされます %test→Tasker しかし目的は配列をForで回して下記のようにFlashさせたいです %test→Tasker→AutoInput→Androidシステム なかなか意図した動作にならずに詰んでいます 宜しくお願い致します テスト (94) A1: AutoNotification Query [ Configuration: Timeout (Seconds):20 ] A2: Flash [ Text:%anapp() Long:Off ] A3: Array Set [ Variable Array:%names Values:%test,%anapp Splitter:, ] A4: For [ Variable:%name Items:%names() ] A5: Array Set [ Variable Array:%items Values:%name Splitter:, ] A6: For [ Variable:%item Items:%items() ] A7: Flash [ Text:%item Long:Off ] A8: End For A9: End For >>45 ドットさんのA1のValuesをよ〜く見てみてください。 配列の中身を再度配列化している訳じゃないんですよね。 %を含まない『配列名』を配列にしているでしょ? ここがポイントなんですよね。 ですから、作成した配列の名前が%namesと命名されているわけです。 この配列には名前が入っているだけで、Queryが取得したデータは入っていないのです。 そしてA3のValuesに%%name()と%が一つ多いのが二つ目のポイント。 先に作った『配列名』に『%』を追加してやることで、Taskerが配列と認識してくれるんです。 それによりA3で作成した配列%itemsの中には、配列名ではなく実際のデータが格納されるというカラクリな訳です。 >>45 さんの考え方は、全てのデータを一旦配列にぶち込んでしまってから、後で何とかしようというものですよね。 勿論それでも目的は達成できますが、ドットさんの提示したやり方は、そもそも手法が違うので頭の切り替えが必要です。 あと、>>45 さんのA3の%anappは%anapp()の誤記では? >>46 ちょっと訂正 × 先に作った『配列名』に『%』を追加してやることで、Taskerが配列と認識してくれるんです。 ○ A2で定義した『配列名%name』の前後に『%』と『()』を追加してやることで、Taskerが配列と認識してくれるんです。 例えば、%nameにanappという文字列が入っていた場合、前後に%と()を追加してやることで、%anapp()となりますよね。 これをTaskerは配列と認識して「Tasker,AutoInput,Androidシステム」に変換してくれるんですよ。 >>46 ありがとうございます ちょっと混乱しているので試しながら整理してみます >>46-47 なるほど配列名を配列化して回してるってことですね >>24 の●やりたいことのように配列自体をForで回しながらそれぞれの配列の中身を出力するにはどうしたらいいでしょうか? ●やってみたことで作成したInterceptのQuery版を作ってみたいんです Interceptでは配列が5個程度だったので力技でなんとかできたんですが、Queryでは配列自体をForで回さないととてもじゃないですが無理なので 手順だけでも教えて頂けると嬉しいです 言わんこっちゃない >>24 でやりたいことは明示されてるんだから>>34 じゃ途中までにしかなってないんだよ >>41 確かにTasker未購入のやつの質問とか見たことないし買ってから来いよって感じだよな >>42 >>43 >>44 の中で>>44 が一番皮肉が効いてて良かった >>49 >配列自体をForで回しながらそれぞれの配列の中身を出力するにはどうしたらいいでしょうか? まさに、その方法が>>34 の配列名を配列化する手法ですよ。 なんか、裏技的で気に入らないのかも知れませんが、Taskerの限定された機能の中で、 プログラミング的なことをやろうとすれば、ある程度工夫をする必要が出てくるのです。 ドットさんの示されたやり方をベースにすれば目的は果たせますよ。 もし、挫けそうなら以下を参考にしてみてください。 http://www.geocities.jp/television_server/temp/AutoNotificationQueryTest.tsk.zip https://i.imgur.com/rVDCSZt.jpg https://i.imgur.com/Mjsp4Jj.jpg A1: AutoNotification Query [ Configuration: Timeout (Seconds):20 ] <書き出し用のファイルを指定> A2: Variable Set [ Name:%filepath To:Tasker/tasks/000.txt Recurse Variables:Off Do Maths:Off Append:Off ] <タイトル(1行目)を書き出し> A3: Write File [ File:%filepath Text:■AutoNotificationQuery Actionの出力テスト Append:Off Add Newline:On ] <出力したい配列の名前(%含まず)を配列化> A4: Array Set [ Variable Array:%array_names Values:anapp,antitle,antext,ansubtext,anpackage Splitter:, ] <配列の名前(%array_name)毎に処理 > A5: For [ Variable:%array_name Items:%array_names() ] <配列の名前(%array_name)を書き出し> A6: Write File [ File:%filepath Text:[%array_name 配列] Append:On Add Newline:On ] <データを格納する配列%itemsを初期化> A7: Array Clear [ Variable Array:%items ] <配列名%array_nameの前後に「%」と「()」を追加して、Queryデータを含む配列%itemsにコンバート> A8: Array Set [ Variable Array:%items Values:%%array_name() Splitter:, ] If [ %%array_name(#) != 0 ] <%itemsをループ処理 カウンタ変数=%int 初期値=1 終了値=%anapp(#)> A9: For [ Variable:%int Items:1:%anapp(#) ] <書き出し用の文字列を%stringに格納> A10: Variable Set [ Name:%string To:[%array_name%int] %items(%int) Recurse Variables:Off Do Maths:Off Append:Off ] <要素が空の場合は「%antext1」の様に変数名が出力されるので、正規表現による置換で削除> A11: Variable Search Replace [ Variable:%string Search:\s\%[a-z0-9]+[0-9]+$ Ignore Case:Off Multi-Line:Off One Match Only:Off Store Matches In: Replace Matches:On Replace With: ] <データを書き出し> A12: Write File [ File:%filepath Text:%string Append:On Add Newline:On ] A13: End For A14: End For <ファイルを開く> A15: Open File [ File:%filepath Mime Type: ] >>53 凄い丁寧に本当にありがとうございます スクショはもちろん説明ラベル大変分かりやすく助かります > 裏技的で気に入らないのかも知れませんが、 とんでもないです 単に混乱して分からなかっただけです じっくり作りながら理解してみます もはやTaskerが楽しみになる今日この頃 ありがとうございました! ●Tasker有無: 購入済み ●Androidバージョン:5 ●root有無: なし ●わからないこと(知りたいこと) 各タスクのifを2個以上指定したときの and,or,xorと(High Precedence)の+付きの挙動ってどう違うんでしょうか >>55 自分で試せば分かる事なのに、質問するのは何故なのか… >>55 優先順位が違う. 2個指定しただけでは差は出ない. 3個以上指定した場合に違ってくる. 例えば,AND は OR よりも優先順位が高いので,A AND B OR C は (A and B) or C の意味だが, OR+ は AND よりも優先順位が高いので,A AND B OR+ C は A and (B or C) の意味になる. 優先順位が高いものほど右側に表示されるようになっている. >>45 A3で停まったのはもしかしたら%testが空だったからなのかも 確認のためにテスト用変数がエラーになっていたとは ●Tasker有無: 購入済み ●Androidバージョン:8.0.0 ●root有無: なし ●やりたいこと A6で'[%antitle()]'のようにFlashさせたいのでA4で'\'でエスケープしたり代わりに'%'にしてみたりしたんですが全然上手くできません 'Variable Search Replace'でやるしかないでしょうか? Array (102) A1: AutoNotification Query [ Configuration: Timeout (Seconds):20 ] A2: Array Set [ Variable Array:%array_names Values:anapp Splitter:, ] A3: For [ Variable:%array_name Items:%array_names() ] A4: Variable Set [ Name:%write To:[\%%array_name()] Recurse Variables:Off Do Maths:Off Append:On ] A5: End For <[%antitle()]←このようにFlashさせたい> A6: Flash [ Text:%write Long:Off ] https://i.imgur.com/yLLRbEL.png >>62 %array_namesから文字列"%antitle()"を直接出力するのは無理かも? 専用の配列を別に用意した方がいいかもね。 >>62 A1: AutoNotification Query [ Configuration: Timeout (Seconds):20 ] A2: Variable Set [ Name:%kaigyou To: Recurse Variables:Off Do Maths:Off Append:Off ] A3: Array Set [ Variable Array:%array_names Values:anapp,antitle,antext Splitter:, ] A4: Array Set [ Variable Array:%array_fullnames Values:\%anapp(),\%antitle(),\%antext() Splitter:, ] A5: Variable Set [ Name:%counter To:1 Recurse Variables:Off Do Maths:Off Append:Off ] A6: For [ Variable:%array_name Items:%array_names() ] A7: Variable Set [ Name:%write To:[%array_fullnames(%counter)]%kaigyou Recurse Variables:Off Do Maths:Off Append:On ] A8: Variable Set [ Name:%counter To:%counter+1 Recurse Variables:Off Do Maths:On Append:Off ] A9: End For A10: Flash [ Text:%write Long:On ] こんな感じかな。A2は分かりにくいけど、改行のみを格納した変数です。 A4で%付きの変数名の配列を作っています。 一旦、文字%を変数に格納してしまえば、POPUPアクション以外なら値への自動変換が行われないみたいです。 >>63-64 ありがとうございます 配列名 (88) A1: AutoNotification Query [ Configuration: Timeout (Seconds):20 ] A2: Flash [ Text:[\%anpackage()] Long:Off ] これだとエスケープだけで簡単にできるだけにずっと悩んでました おかげさまで配列名から再構築してForで回す手順が把握できました 今度はこの手順を勉強したいと思います 助かりましたありがとうございました >>62 いくつかやり方があるが,一番単純なのは下記のように分割すること. A1: Variable Set [ Name:%write To:[% Recurse Variables:Off Do Maths:Off Append:On ] A2: Variable Set [ Name:%write To:%array_name Recurse Variables:Off Do Maths:Off Append:On ] A3: Variable Set [ Name:%write To:()] Recurse Variables:Off Do Maths:Off Append:On ] >>66 ドットさんありがとうございます 分割ならできるとか何でそんな知恵があるのか不思議でならない 今>>64 をやって感心してましたが皆さん凄いわ 助かりましたコツコツ作成してます ありがとうございました >>66 なるほど。その発想はなかった〜。 "%"だけ先に変数に格納してしまえば良いんだ。 いや、ビックリ。コロンブスの卵的な驚きでした。 やっと>>24 完成できました! 配列の扱いって大変ですね 皆さんの応用力に脱帽でした ありがとうございました 購入済、ヌガー、ルート無しなんだが、これだけのコードなのにスマホ再起動直後は何も問題なく動作するけど、 1日スマホ再起動してないとまともに動かずこのコードだけスキップして次のコードを実行してしまう 特定のコードの優先度を高くしたり、画面タッチ系の特定のコードが終わるまで待つなんて出来ないよね? http://imgur.com/GWgjX4N.jpg ●Tasker有無: 購入済み ●Androidバージョン:8.0.0 ●root有無: なし ●わからないこと(知りたいこと) AutoNotification Actionについてどんなことができるのか試しているんですが、初期設定?がずっと終わらないのはバグなのかおま環なのか知りたいです ↓スクレコ https://1drv.ms/v/s!Atxy5rVm4jtvmBIxElIP6FHTDUYF >>72 1回autonotificationを起動した? 権限とかの問題じゃないかな >>72 情報が少なすぎると思うよ。 他のアクションは?イベントは?単独で起動してみた?Androidを再起動してみた? お試し期間が終わってない?購入したのならAutoAppsは正しく認識してる? 再インストールは試した?旧バージョンは試した? >>73-74 ありがとうございます 情報少なくてごめんなさい ■AutoNotificationはAutoAppsで購入済みでAutoAppsのNotificationがアクティブ ■Log機能停止させるためにAutoNotification本体起動済み ■権限はストレージしかありませんが許可済み ■サービスと通知の読み取りも許可済み ■再インストール、端末再起動しても改善できませんでした ■[Intercept Context]と[Query Action]と[Cancel Action]を常用してますが問題ないです 本来はあの後どうなるべきなんでしょうか? ●Tasker有無: 購入済み ●Androidバージョン:7.0 ●root有無: なし ●やりたいこと 蓋が半透明のケースを締めたら、少しの間一番明るい画面にして数秒で画面オフ 近接センサーで実現はできたのですが、センサー近くに指を持っていくだけで このタスクが反応してしまいます。 一瞬のセンサー反応ではタスクが起動しないようにしたいのです。 よろしくお願いします。 >>76 一行目にwait500msから1s、二行目にPACTIVEでこのPROFILESが反応してなかったらストップ判定 >>75 Android8機を持っていないので「the association request」っていうのが 何を指すのかわからないけど、何らかの設定画面が開くっぽいね。 apkpureを見てみると、Ver.3.0でAndroid8に対応してから最新のVer.3.7.1 までリリースされているようだから、他のバージョンを試してみるのも手じゃないかな。 ちょっと力になれそうにないや、ごめんね。 >>77 横からで申し訳ない。電話とかLINE通話のときにもこのタスク走りそうにみえるんだけど、なんか対策とかあるかな? 似たようなの作ってて参考にできたらと思って聞いてみましました PROFILESで該当アプリをチェックしてInvertでいいんじゃないのかな >>77 >>83 ありがとうございます。 PACTIVEをチェックする方法はSplitで分割してループで回すのでしょうか? とりあえず%Testに%PACTIVEをいれてSplitで分割してみたのですが、 %Test1から%Test4までしか作成されず、そのあとに該当のプロファイルがあるため うまく確認できませんでした。 申し訳ないのですが、うまいやり方を教えてください。 よろしくお願いします。 自分から今言える事は↓だ ●やってみたこと ・Taskerでやってみてうまく行かない場合は,そのProfileやTaskを貼り付ける (Profileの場合は名前をつけた上で)長押し→メニューからExport→Description To Clipboard >>81 進みました! まさかGPSとは無理ですわ 次のメッセージにはBluetoothと記載されてるのにSSID一覧なんですがSSIDステルスだと表示されませんか? https://1drv.ms/v/s!Atxy5rVm4jtvmCS0Y2r4MxslbGCT Notification Actionは通知の機能ですよね? これは何の工程してるんでしょうか? >>76 マグネットが付いているケースなら磁力を利用したContextを追加したらどうですか? >>81 最後に何かの理由でこの時だけGPS有効にする必要があるとの注意事項が記載されてますね 見落としてましたごめんなさい ●Tasker有無: 購入済み ●Androidバージョン: 5.0 ●root有無:なし ●やりたいこと 指定したアプリを使用中は画面が消灯しない(ずっとアプリ画面が表示され続ける)ようにしたい。 ●やってみたこと 「Display」>「Display Timeout」のSecs、Mins、Hoursの値をそれぞれ最大にしました。(つまり、Secsを59、Minsも59、Hoursを23にしました) Profile: 指定アプリ使用中は画面長時間オン (44) Application: 指定アプリ1 or 指定アプリ2 Enter: 画面オン (43) A1: Display Timeout [ Secs:* Mins:* Hours:* ] ・どううまくいかないのか 端末の設定の「画面のタイムアウト」で指定した時間(10分。ちなみにこれが最大値)が経過すると画面が消灯してしまいます ●わからないこと(知りたいこと) 「指定したアプリを使用中は端末の「画面のタイムアウト」設定を無視して常に画面ONにする」という状態をTaskerで実現できるかどうかが知りたいです。 >>89 [Display Timeout]Actionのスライダーをすべて最大値で消灯させなくできるのは確か だけどユーザーガイドにもある通り下記の条件で元に戻ってしまうみたい ■電源接続で[Stay On]Action発動で ■Android(端末?)の設定に行くと ■再起動で だからこの条件の後は[Display Timeout]Actionを再度走らせる必要がある [Secure Settings]Pluginで同じようなことができるけど設定値がどんな条件で戻ることがあるのかは分からないです >>89 例えばそのアプリが表示中は普段端末に設定している消灯時間を経過したら[Display Timeout]Action走らせるを繰り返しすとか [Wait]と[Goto]Actionできると思います >>89 貼ったプロフィールで消しちゃてるみたいだけど RestoreSettings にチェックはいってない? ●Tasker有無: 購入済み ●Androidバージョン:7.0 ●root有無: なし ●やりたいこと イベントが起きた時に、近接センサーがONなら実行したいタスクがあります (ポケットに入れている時にメールの通知が出たら繰り返しバイブを動かすなど) 今は近接センサーの状態を取得するために StateのProximitry SensorのEnter TaskとExit Taskで それぞれ変数を設定するプロファイルを作って、その変数で処理を分けています しかし、これだとTaskerが常時近接センサーを使うためか (GSamでTaskerのProimitry sensorの時間が端末起動時間とほぼ同じ) 消費電力が上がってしまい Taskerがシステム系アプリを除くと消費電力が一番多いアプリになってしまいます やりたいことは、消費電力の節約です ●やってみたこと 普段は近接センサーを確認するプロファイルをOFFにしておいて イベントが起きた時にONにすればよいのではないかと考えました 次のようにしてみました イベントが起きたら変数%EVSTATUSをSTARTに設定する → Variable SetのEventで、Profile StatusのActionで近接センサー確認のプロファイルをONにする Profile: Proximity Trigger Start (86) Event: Variable Set [ Variable:%EVSTATUS Value:START User Variables Only:Off ] Enter: Proximity Check ON (87) A1: Profile Status [ Name:Proximity Sensor Set:On ] 近接センサー確認のプロファイルは、次の通りです Profile: Proximity Sensor (92) State: Proximity Sensor Enter: Set Proximity ON (37) A1: Variable Set [ Name:%PXSTATUS To:on Recurse Variables:Off Do Maths:Off Append:Off ] Exit: Set Proximity OFF (38) A1: Variable Set [ Name:%PXSTATUS To:off Recurse Variables:Off Do Maths:Off Append:Off ] (この他、Enterだけ、Exitだけ、Invertしたものも試してみました) これで、イベントが起きた時に近接センサー確認のプロファイルを ONにすることまでは成功したのですが、 %PXSTATUSの値が近接していていもしていなくてもONにする前と同じ値でした 近接させていてもプロファイルをONにした瞬間には Taskerの画面で文字が緑色になりません 一度離してまた近接させると緑色になります どうやら、ONにした後一度近接センサーの状態が変わらないと State: Proximity Sensorは発生しないようです ●わからないこと(知りたいこと) 常時Stateで近接センサーの状態を監視するのではなく、 必要な時だけ近接センサーの値を読み取る方法 >>92 そっかアプリ表示中ってことならそもそも画面遷移してないんだから 面白い ●Tasker有無: 購入済み ●Androidバージョン:6.0.1 ●root有無: なし ●やりたいこと BTテザリング(親機)のオンオフ ●やってみたこと アクション項目見てもテザリングはWiFiしかなくBTテザリングの項目がない >>95 [BT Tethering]は[Secure Settings]Plugin https://i.imgur.com/u1waW5G.png apk化インストールしたんだけどメモリ使用量が微妙に多い(50-70mb) みんなこんなもん? >>90 >>91 >>92 >>94 みなさん、アドバイス、コメントをありがとうございます。 >>92 >>RestoreSettings にチェックはいってない? チェック入ってました! (その意味がよく分かっていない自分用備忘メモ: このProfileを長押し→歯車マーク(Properties)をタップ) >>98 Nougatで開発者向けオプション → 実行中のサービスで表示されるメモリ使用量では114MB アプリ情報 → メモリ(過去3時間の平均メモリ使用量)欄は125MB どんなプロファイルを持っているか(使っているか)にもよるけど概ねそんなものでは >>100 ありがとう これ位で普通なのか ちなみにProfileはDeviceBootのみで常時透過ホットスポットを表示 スワイプでSceneを表示・非表示ってやってるだけ >>93 近接センサーの値を読み取る方法はない. あるのは,近接センサーからの変更通知に含まれる値を見る方法だけ. State: Proximity Sensor について試してみたが, 近接状態が Profile を Off したときと,On したときで変化していた場合は Active になるが, 状態が変わらない場合は Active にならなかった. それならば,下記のような 2つの Profile をOn/Offすればよい. Profile: Proximity Sensor (9) State: Proximity Sensor Enter: Set Proximity ON (109) A1: Variable Set [ Name:%PXSTATUS To:on Recurse Variables:Off Do Maths:Off Append:Off ] Profile: Not Proximity Sensor (15) State: Not Proximity Sensor Enter: Set Proximity OFF (147) A1: Variable Set [ Name:%PXSTATUS To:off Recurse Variables:Off Do Maths:Off Append:Off ] 状態が変わらない場合,一方は状態が変わらないので Active にならず,もう一方は条件を満たさないので Active にならず,結果的に変数の値は変化しない. 状態が変わる場合は,必ずどちらか一方が Active になる. 手元の環境ではこれで問題なく動作しているが,端末によって挙動が違う可能性はある. ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる