Tasker を使用して、テザリングされたデバイスがインターネット アクセスを失ったときに通知する

Tasker を使用してテザリングの「ネットワークなし」警告を作成します。 接続が切断されると通知されます。 ウェアラブルおよび接続されたデバイスの通知

前回の記事から、私はかなりの時間を電車の中で過ごしていることがわかりました。 事実やアイデアを調べるためにインターネットにアクセスできるのであれば、今は記事を 1 ~ 2 つ書くのに最適な時期です。 私のルート上には電波の届かないエリアが点在しているため、電車内でのテザリングは難しい場合があります。 トンネルの中にいるときは、オフラインになりそうであることが非常に簡単にわかりますが、列車がノース ヨークシャーの広々とした草原を通過しているときは、その状況はあまり明らかではありません。 Android に組み込まれているテザリング ソリューションには、今後 5 分間その Web サイトを読み込めなくなることを通知する方法がありません。

そこで、Tasker 愛好家として、人気の Android 自動化アプリを使用して問題を解決する方法を考えました。 Taskerを使用してテザリングの「ネットワークなし」警告を作成することで、私の問題を解決しました。 このプロジェクトの目的は、携帯電話が携帯電話ネットワークの範囲外になったときに通知することです。 これは 3 つの方法で行われます。

  • 通知LEDを利用する(友達同士でテザリングする場合に最適)
  • スマートフォンアイコンの使用(スマートウォッチが必要)
  • 参加プッシュの使用 (個人用デバイスに最適 - AutoRemote で置き換え可能)

通知を使ってさらに創造性を発揮することもできますが、テザリングは公共の場所で使用される可能性が最も高いため、ここでは個別のオプションのみを使用します。 不快な通知を好む人はいないでしょう? 通知は接続されたデバイスに表示されるためにインターネット接続を使用することに注意してください。 使用できます 自動リモート (Bluetooth 経由) ネットワークが存在しないときに警告を送信します。 これには、該当のデバイスを Bluetooth 経由でペアリングする必要があります。

必要になるだろう:

Androidのバージョン: 4.0+、通知タイルには Android 7.0 が必要です。

アプリ: 参加する

プラグイン: オートウェア (オプション)、 自動リモート (結合を置き換えることができます)、 自動通知 (オプション)


Tasker でテザリングの「ネットワークなし」警告を有効にする

テザリングが有効かどうかを確認する代わりに、ステータス バーのタイルを 自動通知 そしてトグル動作を設定します。 Android 7.0 を使用していない場合は、代わりにショートカットまたはウィジェットを使用できます。

これまでにタイルを有効にしたことがない場合は、 自動通知 - これは少し厄介であることがわかります。 テンプレート タイルを選択したタイルに変換するセットアップ タスクを作成する必要があります。 空のタイルを配置します。つまり、 自動通知 02 タイル領域に追加します (表示されているタイルを編集するには、[編集] をクリックします)。

テザリングタイルを作成する

テザリングタイル

Tile Setup

A1: AutoNotification Tiles [ Configuration: Tile: 2

Command: hotspottoggle

Label: Hotspot

Icon: android.resource://net.dinglisch.android.taskerm/hd_aaa_ext_signal

State: 1

Require Unlock: false

Hide Notifications: true Timeout (Seconds):60 ]

A2: Variable Set [ Name:%HotspotVariable To: 0 Recurse Variables: Off Do Maths: Off Append: Off ]

A3: Variable Set [ Name:%HotspotDialog To: 0 Recurse Variables: Off Do Maths: Off Append: Off ]

続きを読む

タイルと変数を設定するには、これを 1 回実行するだけで済みます。 タイルはコマンドを使用します ホットスポットグル テザリングの状態を変更し、非アクティブに設定します。 また、押すとステータス バーが折りたたまれます。 好きなラベルやアイコンでタイルを着せ替えることができます。

さらに 2 つの変数が作成され、0 に設定されます。 %ホットスポット変数 テザーのステータス (0 = いいえ、1 = はい) が表示されます。 %ホットスポットダイアログ どのデバイスに通知するかを尋ねるダイアログが表示されます (0 = 表示しない、1 = ダイアログを表示)。

テザリングの切り替え

テザリングの切り替え

Hotspot Toggle 

A1: Variable Add [ Name:%HotspotDialog Value: 1 Wrap Around: 2 ]

A2: AutoNotification Tiles [ Configuration: Tile: 2

Command: hotspottoggle

Label: Hotspot

Icon: android.resource://net.dinglisch.android.taskerm/hd_aaa_ext_signal

State: 999

Require Unlock: false

Hide Notifications: true Timeout (Seconds):60 ]

A3: WiFi Tether [ Set: Toggle ]

A4: Perform Task [ Name: Hotspot Dialog Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop: Off ] If [ %HotspotDialog ~ 1 ]

A5: Wait [ MS: 0 Seconds: 5 Minutes: 0 Hours: 0 Days: 0 ]

A6: Variable Add [ Name:%HotspotVariable Value: 1 Wrap Around: 2 ]

A7: Variable Clear [ Name:%HotspotDevice Pattern Matching: Off ] If [ %HotspotVariable ~ 0 ]

続きを読む

テザリング有効時のみダイアログを表示したい。 ダイアログには私が所有するいくつかのデバイスが表示され、通知のターゲットを設定できるようになります。 いずれの場合も、受信状態が悪いたびに通知 LED が速く点滅するようにテザリング電話を設定します。

タイルを押すと、ステータスがアクティブに変わります。 %ホットスポットダイアログ 1 に変化すると、 ホットスポットダイアログ タスク。 デバイスを選択している間、変数を設定することでホットスポット プロファイルが準備されます。 %ホットスポット変数 1に。 タイルをもう一度押してテザリングを終了すると、 ホットスポットダイアログ 0 に戻り、ダイアログの表示を要求しなくなり、 %ホットスポット変数 ニュートラル値 0 に設定されます。

A1、A6

アクション 変数加算+1 開始変数の値を 0 から 1 に変更し、2 でラップします。 これは、これらの変数が常に 1 または 0 の値を取ることを意味します。 アクションの配置も同様に関連します。 %ホットスポットダイアログ ダイアログがいつ表示されるかを制御します。 テザリングを無効または有効にする同じタスクを実行していますが、切り替えるたびにダイアログが表示されるのは望ましくありません。

A7

この作業中に、テザーを無効にするタスクが実行された場合 (%ホットスポット変数 = 0)、ホットスポット ダイアログ タスクによって通知されるデバイスの名前を格納する変数をクリアします。

A5

待って ホットスポット設定が切り替わったときに発生する可能性がある、範囲不良に関する情報がすぐに表示されないようにするアクションが追加されました。

A3

単に WiFiテザーを切り替える アクション。 このステップに関しては何も複雑なことはありません。

A4

別のタスクが表示され、 オートツールダイアログ そして自分の選択に対する行動。 これは、ダイアログが変数を制御するときに実行されます。 %ホットスポットダイアログ = 1.

A2

トグルが押されたときに、タイルの状態がアクティブ/非アクティブに切り替わり、同じコマンドが保持されることを確認します。 ホットスポットグル. 最後に、ステータス バーが折りたたまれることを確認します。

ホットスポットダイアログ

ホットスポットダイアログ

Hotspot Dialog 

A1: AutoTools Dialog [ Configuration: Dialog Type: List

Title: Enable poor network notification?

Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png

List Type: 1

Texts: Tablet, Mobile, Computer, Watch, Laptop

Text Size: 20

Images: /storage/emulated/0/Tasker/Material Icons/ic_tablet-1.png,/storage/emulated/0/Tasker/Material Icons/ic_cellphone_android-1.png,/storage/emulated/0/Tasker/Material Icons/ic_desktop_mac-1.png,/storage/emulated/0/Tasker/Material Icons/ic_watch-1.png,/storage/emulated/0/Tasker/Material Icons/ic_laptop-1.png

Image Width: 50

Dim Background: true

Number Of Columns: 3

Top Margin: 16

Bottom Margin: 16

Bottom Buttons Top Margin: 16

Bottom Buttons Bottom Margin: 16

Close On Select: true

Separator: ,

Command Variable: atcommand

Cancelable: true

Turn Screen On: true Timeout (Seconds):60 ]

A2: Variable Set [ Name:%HotspotDevice To:%attext Recurse Variables: Off Do Maths: Off Append: Off ]

続きを読む

オートツールダイアログ 利用可能なデバイスを表示するために使用されます。 デバイスが選択されると、ダイアログが閉じて、デバイスの値が設定されます。 %ホットスポットデバイス そのデバイスの名前に。 この変数はテザリングが停止されるたびにクリアされます。

受信状態が悪い/データがありません

受信状態が悪い/データプロファイルがない

続きを読む

信号強度とインターネット接続をチェックする 2 つのプロファイルを作成しました。 それぞれは変数によって制御されます %ホットスポット変数 テザリングが有効な場合にのみアクティブになります。 どちらのプロファイルも、アクティブ化または非アクティブ化すると、同じタスクをトリガーします。 1 つは状態コンテキスト (信号強度) を含み、もう 1 つはモバイル ネットワークを含みます。 理想的には、通知が発行されたときに接続がまだ存在していることが望ましいです。 このため、信号強度を 1 に設定してプロファイル条件に含めています。

劣悪な信号

劣悪な信号

Profile: Poor Reception (91)

State: Variable Value [ %HotspotVariable ~ 1 ]

State: Signal Strength [ From: 0 To: 1 ]

Enter: PoorSignal (89)

A1: AutoNotification [ Configuration: Use HTML: false

Title: Poor reception

Icon: android.resource://net.dinglisch.android.taskerm/hl_device_access_network_cell

Status Bar Icon: device_access_network_cell

Status Bar Text Size: 16

Id: 55

Priority: -1

Persistent: true

Is Group Summary: false

LED Color: red

LED On: 300

LED Off: 30p

Skip Picture Cache: false

Update Notification: false

Only on Phone: true Timeout (Seconds):20 ]

A2: Join Send Push [ Configuration: Device: Chrome@Laptop

Text: Poor range

Title: Poor reception

Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png Timeout (Seconds):60 ] If [ %HotspotDevice ~ Laptop ]

A3: Join Send Push [ Configuration: Device: Chrome@Home

Text: Poor range

Title: warning

Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png Timeout (Seconds):60 ]

A4: Join Send Push [ Configuration: Device: Tablet

Text: Poor range

Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png Timeout (Seconds):60 ] If [ %HotspotDevice ~ Tablet ]

A5: AutoWear App [ Configuration: Execute Now: true

Trigger Event: true

Haptic Feedback: true

Name: App

AutoWear Elements: Show

AutoWear Element Id: poorrange

Turn Screen On: true Timeout (Seconds):60 ] If [ %HotspotDevice ~ Watch ]

Exit: Cancel (90)

A1: AutoNotification Cancel [ Configuration: Id: 55

Cancel All: false Timeout (Seconds):0 ]

A2: AutoWear App [ Configuration: Execute Now: true

Trigger Event: true

Haptic Feedback: true

Name: App

AutoWear Elements: Hide

AutoWear Element Id: poorrange

Turn Screen On: true Timeout (Seconds):60 ] If [ %HotspotDevice ~ Watch ]

Profile: No Data (92)

State: Variable Value [ %HotspotVariable ~ 1 ]

State: Mobile Network [ 2G: On 3G: Off 3G - HSPA: Off 4G: Off ]

Enter: PoorSignal (89)

A1: AutoNotification [ Configuration: Use HTML: false

Title: Poor reception

Icon: android.resource://net.dinglisch.android.taskerm/hl_device_access_network_cell

Status Bar Icon: device_access_network_cell

Status Bar Text Size: 16

Id: 55

Priority: -1

Persistent: true

Is Group Summary: false

LED Color: red

LED On: 300

LED Off: 30p

Skip Picture Cache: false

Update Notification: false

Only on Phone: true Timeout (Seconds):20 ]

A2: Join Send Push [ Configuration: Device: Chrome@Laptop

Text: Poor range

Title: Poor reception

Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png Timeout (Seconds):60 ] If [ %HotspotDevice ~ Laptop ]

A3: Join Send Push [ Configuration: Device: Chrome@Home

Text: Poor range

Title: warning

Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png Timeout (Seconds):60 ]

A4: Join Send Push [ Configuration: Device: Tablet

Text: Poor range

Icon: /storage/emulated/0/Tasker/Material Icons/ic_wifi.png Timeout (Seconds):60 ] If [ %HotspotDevice ~ Tablet ]

A5: AutoWear App [ Configuration: Execute Now: true

Trigger Event: true

Haptic Feedback: true

Name: App

AutoWear Elements: Show

AutoWear Element Id: poorrange

Turn Screen On: true Timeout (Seconds):60 ] If [ %HotspotDevice ~ Watch ]

Exit: Cancel

A1: AutoNotification Cancel [ Configuration: Id: 55

Cancel All: false Timeout (Seconds):0 ]

A2: AutoWear App [ Configuration: Execute Now: true

Trigger Event: true

Haptic Feedback: true

Name: App

AutoWear Elements: Hide

AutoWear Element Id: poorrange

Turn Screen On: true Timeout (Seconds):60 ] If [ %HotspotDevice ~ Watch ]

続きを読む

自動通知 通知は電話機で作成されますが、LED が点滅するだけです。 個人的な好みに合わせて通知の他の値を選択し、好みの色で高速 LED 点滅 (私の場合は 300 ミリ秒のオン/オフ) を設定します。 このアイデアは、画面が起動したときに完全に侵襲的なアラートではなく、個別の情報を表示することです。 通知は永続的な通知として保存されます。 ID55.

次に続くのは、 プッシュに参加する あなたが所有するデバイスごとに。 を選択 プッシュに参加する デバイスごとに、IF 条件を使用して次の値と一致します。 %ホットスポットデバイス 変数。

を設定します。 プッシュに参加する 選択した通知を送信するアクション。 これらの通知はターゲット デバイス上で無視されるため、他のアクションは必要ありません。

スマートウォッチ

スマートウォッチのプロファイル

Profile: Remove Watch Icon 

Event: AutoWear Command [ Configuration: Command Filter: closepoorrange

Case Insensitive: false

Exact: true

Regex: false

Variable Array: false ]

Enter: Close WearIcon (55)

A1: AutoWear App [ Configuration: Execute Now: true

Trigger Event: true

Haptic Feedback: true

Name: App

AutoWear Elements: Hide

AutoWear Element Id: poorrange

Turn Screen On: true Timeout (Seconds):60 ]

続きを読む

スマートウォッチの通知の動作方法を変更したことがわかります。 上記のどれも私の時計には表示されません。 時計に表示したいのは、要求に応じて閉じることができる小さなアイコンだけです。

を使用してアイコンを作成します AutoWear フローティング アイコンの管理 * (AutoWear アプリにアクセスする必要があります) ウォッチ上のサイズと配置をテストします。 アイコンはどの画面上にも描画されるため、タップ時にアイコンを閉じるコマンドが含まれていることを確認してください。 私が使用した 近い悪い範囲 そしてアイコンに名前を付けました 貧弱な範囲. 私のアイコンのサイズは 30x30 ピクセルで、右に 65%、上から 20% の位置に配置されています。

サイズと位置に満足したら、 AutoWear アプリ アイコンを表示するアクションと、アイコンをリンクする IF 条件 %ホットスポットデバイス 変数。

キャンセル

キャンセル

Cancel (90)

A1: AutoNotification Cancel [ Configuration: Id: 55

Cancel All: false Timeout (Seconds):0 ]

A2: AutoWear App [ Configuration: Execute Now: true

Trigger Event: true

Haptic Feedback: true

Name: App

AutoWear Elements: Hide

AutoWear Element Id: poorrange

Turn Screen On: true Timeout (Seconds):60 ] If [ %HotspotDevice ~ Watch ]

続きを読む

LED の点滅を終了し、時計からフローティング アイコンを削除するには、単純なコマンドを使用します。 自動通知のキャンセル 通知の ID を使用したアクション (55) を実行するには、 AutoWear アプリ フローティングアイコンを非表示にするアクション。

スマートウォッチには、アイコンが押された場合にフローティング アイコンを削除する追加のプロファイルがあります。 これを行うには、 AutoWear コマンド イベント '近い悪い範囲' 次に、タスクとほぼ同じアクションを含む別のタスクを実行します。 キャンセル タスク。


私たちのこの小さな作品を楽しんでいただければ幸いです。また、何か改善できることがあればお知らせください。 いつものように、下のリンクをクリックしてプロジェクトをダウンロードできます。

テザリング「ネットワークなし」警告プロジェクト ファイルをここからダウンロードしてください。

テザリングの「ネットワークなし」警告を Tasker プロジェクト ファイルでインポートするには、上記のファイルをダウンロードして内部ストレージの任意の場所に保存します。 Tasker を開き、設定メニューで「初心者モード」が無効になっていることを確認します。 次に、左下隅にある「ホーム」アイコンを長押しし、「インポート」をクリックします。 前に保存した prj.xml ファイルを見つけて選択し、インポートします。 下の行に、この記事で参照したすべてのプロファイルとタスクを含む新しいタブが表示されます。