お得な入会キャンペーンいろいろ
PR

Tasker GPSを非rootで自動ON/OFFする方法

Tasker GPSを非rootで自動ON/OFFする方法 Tasker
この記事は約12分で読めます。

TaskerでGPSを自動でオン・オフするタスクを作ったところ、エラーが出て制御できませんでした。

ADBで権限を付与すれば使えるようなので早速やってみます。

結果は非ルートのAndroid端末でTaskerを使いGPSを自動でON/OFFできるようになりました。

TaskerでGPSをオンにするタスク

検証端末:Xperia XZ2 Premium(SOV38)Android 10

Taskerを起動します。

Taskerは機種やAndroidのバージョンによってはうまく動作しない場合があります。プロファイルやタスクは作る人のスキルやレベルで良い方法が沢山有ります。内容は一例として参考程度にしてください。

プロファイルの作成

外出したときにGPSをオンにするプロファイルを作ります。

Tasker[プロファイル]タブ[+]をタップ

Tasker プロファイルの作り方

メニューが開くので[状態]をタップ。

Tasker 状態

状態カテゴリーの選択画面が開くので[ネット]をタップ。

Tasker ネット

モバイルネットワーク

結論から言うとモバイルネットワークは設定できませんでした。代案は次の項目に用意しました。

ネット状態の選択画面が開くので[モバイルネットワーク]をタップ。

Tasker モバイルネットワーク

電話の発信と管理を「Tasker」に許可しますか?が表示された場合は[許可]をタップ。

Tasker 電話の権限を許可

4Gモバイル通信中を利用中にGPSをオンにする設定なので

  • 4Gに[チェック]を入れて
  • アクティブは[はい]を選択

左上の[もどる]をタップして戻ります。

Tasker 4Gをアクティブ

モバイルネットワークのプロファイルはうまく動作しませんでした。方法が分かる方がいれば教えてください。

まぁ、機種やAndroidのバージョンでうまく動かないことがあるのはTaskerあるあるです。

4G回線は常に使ってるからかな、と思い「開発者向けオプション」ネットワーク内の[モバイルデータを常にONにする]をオフにしてもうまくいきませんでした。

モバイルデータを常にONにする

モバイルネットワークの問題は必要になったときに解決するとして、今回は「Wi-Fi接続以外を利用中にGPSをオン」プロファイルを利用します。

 

Wi-Fi接続

ネット状態の選択画面が開くので[Wi-Fi接続]をタップ。

Tasker Wi-Fi接続

Wi-Fi接続以外を利用中にGPSをオンにする設定なので

  • アクティブは[はい]を選択
  • 反転に[チェック]をいれる。

左上の[もどる]をタップ。

Tasker Wi-Fi接続以外を利用中にGPSをオンにする設定

「位置情報サービスがありません」が表示された場合は[いいえ]をタップ。

Tasker 位置情報サービスがありません

タスクの作成

ホーム画面でタスクを選択するメニューが表示されています。

以前作った既存のタスクを利用する場合は[既存のタスク]を選択してタップ。

今回はタスクを作るので[あたらしいタスク+]をタップ。

Tasker あたらしいタスク+

適当な名前をつけて[チェック]ボタンをタップ。

名前は「GPS-ON」にしました。

Tasker GPS-ON

タスク編集画面がひらくので[+]をタップ。

Tasker タスク編集画面

アクションのカテゴリー選択画面が開くので[場所]をタップ。

Tasker 場所

場所 アクションの選択画面が開くので[位置情報モード / Location Mode]をタップ。

Tasker 位置情報モード / Location Mode

アクション編集画面でモードに[高精度]を選択して左上の[戻る]をタップ。

Tasker 高精度

 

ロケーションモードとは

デバイスで位置追跡のタイプを設定します

  • 無し:位置追跡をオフにします
  • 端末のみ:GPSとデバイスセンサーを使用して場所を特定します
  • バッテリーの節約:Wi-Fi、Bluetooth、またはモバイルネットワークを使用して場所を特定します
  • 高精度:GPS、Wi-Fi、Bluetooth、またはモバイルネットワークを使用して位置を特定します

Tasker ロケーションモード

下にある[再生]ボタンで、GPSをオンにするタスクを再生するとエラーになり利用できません。

[1. 位置情報モード / Location Mode]タスクをタップします。

Tasker ロケーションモード

「許可されてない権限」が表示されてを承認の仕方を詳しく教えてくれるそうなんで[OK]をタップ。

許可されてない権限

このアクションを使うためには、Taskerにセキュリティ設定の書き込み権限が必要です。承認の方法を詳しく知りますか?

Tasker 許可されてない権限

Taskerにセキュリティ設定への書き込み権限を承認する方法

要約すると、PCにADBをセットアップしてコマンドを使用してTaskerに安全な設定のアクセス許可を書き込む権限を付与する。って感じです。

Tasker Write Secure Settings Permission

Write Secure Settings Permission

To use this, Tasker needs to be granted permission to Write Secure Settings on your device

Setup ADB on your PC as described here.

Use these commands:

adb shell pm grant net.dinglisch.android.taskerm android.permission.WRITE_SECURE_SETTINGS

If you’re on a mac write

./adb shell pm grant net.dinglisch.android.taskerm android.permission.WRITE_SECURE_SETTINGS

Note: On some MIUI devices you need to enable the option “Disable permission Monitoring” under “Developer options” to be able to grant this permission.


日本語訳:

安全な設定のアクセス許可を書き込む

これを使用するには、タスカーにデバイスに安全な設定を書き込む権限を付与する必要があります

ここで説明するように、PCにADBをセットアップします。

次のコマンドを使用します。

adb shell pm grant net.dinglisch.android.taskerm android.permission.WRITE_SECURE_SETTINGS

Macを使用している場合は書き込み

./adb shell pm grant net.dinglisch.android.taskerm android.permission.WRITE_SECURE_SETTINGS

注:一部のMIUIデバイスでは、このアクセス許可を付与できるようにするには、[開発者向けオプション]の下の[アクセス許可の監視を無効にする]オプションを有効にする必要があります。

ADBをインストールする

PCにADBをセットアップしてというのは、WindowsやMacなどのパソコンにADBをインストールすることです。

ADBとは

Android Debug Bridge(adb)は、Android端末と通信するために利用するコマンドラインツールです。

adbコマンドを使用すると、アプリのインストールやデバッグ、権限の付与など、さまざまなデバイス操作を実行できます。

Android Debug Bridge(adb)  |  Android Studio  |  Android Developers
Android Debug Bridge は、デバイスと通信するための多用途コマンドライン ツールです。

Android Studio のインストール

Android StudioはGoogle製のAndroidアプリ統合開発環境でADBのひとつです。

説明が簡単すぎて突っ込みどころは多いと思いますが、詳しいことは自分で調べて理解してください。

下記からダウンロードしてインストールしてください。

Android Studio をインストールする  |  Android Developers
Windows、macOS、Linux で Android Studio をセットアップ、インストールします。
 

Android Studio のインストール方法は説明しません。

もしも、インストールでつまづく場合はこの後の説明についてこれないと思うので、Android Studio のインストールはオススメしません。

SDK Platform-Toolsのadb.exeファイル格納場所

インストールが完了したら、システム環境変数のPathを通すためにSDK Platform-Toolsのadb.exeファイルの格納場所を確認します。

Android Studioを起動します。

[More Actions]をクリックしてメニューを開き[SDK Manager]をクリックします。

Android Studio SDK Manager

[Android SDK Location]に記載されているフォルダまでのパスを記録しておきます。

例 C:\Users\ryu\AppData\Local\Android\Sdk
SDK Platform-Toolsは[SDK Tools]タブ内で確認できます。

Android Studio Android SDK Location

エクスプローラーを開き[Android SDK Location]で記録したパスへ移動します。

アドレスバーにパスを貼り付けてEnterキー

[platform-tools]フォルダを開きます。

エクスプローラー Android SDK Location

[platform-tools]フォルダを開き、adb.exeファイルを確認できたら、格納しているフォルダへのパスを記録しておきます。

例 C:\Users\ryu\AppData\Local\Android\Sdk\platform-tools
後ほど、環境変数にPathを通す時やコマンドプロンプトで利用します。

エクスプローラー adb.exe

Windows端末でADBコマンドを実行する方法

AndroidStudioのSDK Platform-Toolsのパスを通すと、Windowsのコマンドプロントを利用してADBコマンドを利用できるようになります。

AndroidStudioのSDK Platform-Toolsのパスを通す

画面左下のスタートボタンスタートボタン、設定設定をクリック

スタート 設定

Windowsの設定画面で[システム]をクリック

Windowsの設定 システム

左カラム[詳細情報]をクリック

右カラムの[関連設定]内[システムの詳細設定]をクリック。

システムの詳細情報

システムのプロパティ画面が開くので[環境変数]ボタンをクリック。

環境変数

環境変数画面が開くので、システム環境変数内の[Path]をダブルクリック。

ユーザー環境変数の[Path]でもOK

システム環境変数 Path

環境変数の編集画面が開くので[新規]をクリック。

環境変数の編集

記録しておいた、adb.exeファイルを格納している[platform-tools]フォルダの場所をペーストして[OK]をクリック。

platform-tools Path を通す

コマンドプロンプトでADBコマンドを利用できるか確認する方法

デスクトップ画面の左下の [スタートボタン]スタートボタンから[W]内の[Windowsシステムツール]内[コマンドプロンプト]をクリック。

コマンドプロンプトをスタートボタンから起動する

コマンドプロンプトが起動します。

コマンドプロンプトが起動

adb version

とコマンドを記載しEnterキーを押します。

バージョンや格納場所が表示されればADBコマンドは利用可能な状態です。

Android Debug Bridge version X.X.XX
Version XX.X.X-XXXXXXX
Installed as C:\Users\ryu\AppData\Local\Android\Sdk\platform-tools\adb.exe

コマンドプロンプト ADBコマンドは利用可能な状態

コマンドプロンプトの使い方 Windows10
コマンドプロンプトのよく使う機能を利用しやすいように簡潔にまとめて記録しています。コマンドプロンプトの起動や終了方法からよく使うコマンドの説明とわかりやすい例文もあります。ファイル名の部分指定で抽出コピーは便利なコマンドの使い方の一つです。

Tasker デバイスに安全な設定を書き込む権限を付与する

USBデバッグをオンにする

Androidのホーム画面、もしくはアプリ一覧から[設定]をタップ

設定アイコンを選択

[システム]をタップ。

FRep システム

[開発者向けオプション]をタップ。

[詳細設定]が閉じている場合は開いた中にあります。

FRep 開発者向けオプション

[USBデバッグ]をタップして[ON]にします。

USBデバッグを許可しますか?画面が表示されたら[OK]をタップ。

FRep USBデバッグをオン

 

開発者オプションがない場合

開発者オプションを表示する方法。

設定画面の[デバイス情報]をタップ。

FRep デバイス情報

デバイス情報画面で[ビルド番号]を数回タップ。

Xperia では[ビルド番号]を7回タップ後「ロックNo.の再入力」が完了するとデベロッパー(開発者)になれました。

FRep ビルド番号を複数回タップ

システム画面に[開発者向けオプション]が表示されます。

USB接続

Android端末をWindows端末にUSB接続します。

 

アクセスを許可しますか?画面が表示された場合は[許可]をタップします。

アクセスを許可しますか?

「USBデバッグを許可しますか?」画面が表示されされた場合は[許可]をタップ。

USBデバッグを許可しますか?

Windows端末でコマンドプロンプトを起動します。

カレントディレクトリをadb.exeが格納されているディレクトリに変更するためにコマンド入力してEnterキーを押します。

cd C:\Users\ryu\AppData\Local\Android\Sdk\platform-tools
お約束ですがユーザー名や格納場所は利用者の環境で変化しますので、適宜変更してください。

コマンドプロンプト CDの変更

Taskerにデバイスに安全な設定を書き込む権限を付与するためコマンド入力してEnterキーを押します。

adb shell pm grant net.dinglisch.android.taskerm android.permission.WRITE_SECURE_SETTINGS
TaskerでGPS-ONタスクを作るときに教えてもらったコマンドです。

コマンドプロンプト デバイスに安全な設定を書き込む権限を付与するためコマンド入力

あっけないですが、ADBコマンドで権限の付与が完了したのでコマンドプロンプトを終了します。

権限を許可するコマンド

adb shell pm grant [パッケージ名][パーミッション名]
adb shell pm grant net.dinglisch.android.taskerm android.permission.WRITE_SECURE_SETTINGS

権限を禁止するコマンド

adb shell pm revoke [パッケージ名][パーミッション名]
adb shell pm revoke net.dinglisch.android.taskerm android.permission.WRITE_SECURE_SETTINGS

 

TaskerでGPSが制御できるか確認する

GPSがオフの状態を確認。

GPSがオフの状態

TaskerでGPS-ONタスクを開いて[再生]を押す。

緑丸が表示されてエラーがでません。

Tasker TaskerでGPS-ONタスクを開いて再生

GPSはオンになりました。成功です。

GPSはオンになりました。成功です。

端末を安全に取り外す方法

Windows端末でタスクバー右下の[ハードウェアを安全に取り外してメディアを取り出す]アイコンをクリック。

ハードウェアを安全に取り外してメディアを取り出す

Android端末をクリックします。

端末をクリック

‘端末’はコンピューターから安全に取り外すことができます。と通知が出ると、USB端子を抜いても良い状態です。

端末はコンピューターから安全に取り外すことができます

取り外しの際、エラーが発生した場合はAndroid端末のUSBデバッグをオフにすると安全に取り外せる場合があります。

USBデバッグをオフ

 

まとめ

TaskerでGPSを制御するには root化して Secure Settings等いくつかのアプリを入れる必要がありますが、非rootでも権限を付与することによって利用可能になります。

再起動後も変更無しに利用できます。

他にも権限を付与すれば便利にAndroid端末を活用できるので、興味があればいろいろと調べてください。

コメント

タイトルとURLをコピーしました