AndroidのNFCを自動で無効にする方法! 特定アプリごとオンオフを切り替えて誤作動を防ごう

Android使い方

グローバルモデル含め、多くのAndroid機種には「NFC」機能が搭載され、非接触で専用のカードやタグを読み取ることができます。

ただ近付けるだけで動作するため、意図しない状況で勝手にNFCが働いてしまう欠点もあります。

とはいえ、NFCが必要なアプリを起動する度に機能のオン / オフを手動操作で切り替えるのは面倒ですよね。

そこで本記事では、特定アプリ以外ではAndroidのNFC機能を自動で無効にする方法を紹介します。

具体的にはAndroid向け自動化アプリ「MacroDroid」を使って、特定条件下で起動するマクロ(タスクの自動化)設定をします。

photo by John Jones

 

AndroidでNFCを自動的に無効化する方法

NFC対応機種を互いに近付けると勝手に認識するため、誤動作に繋がるデメリットがあります。

ボクが実際に困っていたケースを紹介すると、下記のような2つのデバイスに関して、

  • iPhone 8 Plus:Apple PayのSuicaを設定中
  • Nexus 6P:常にNFCをオンに設定中

iPhone 8 PlusとNexus 6Pを互いに近付けると、

iPhone側で勝手にApple PayのSuicaが動作し、画面が切り替わることがあります。

YouTube視聴中にSuicaが勝手に起動した例。

強制的にiPhone 8 Plus側の作業が中断されるため、対策としてはNexus 6P側で普段からNFCをオフにする選択肢もありますが、NFCが必要なアプリを起動する度にオン / オフ切り替えるのは面倒でした。

そこで今回は、「NFCを使うアプリの起動」を検知して、AndroidのNFC機能を自動で切り替える設定を「MacroDroid」で行います。

具体例として、ボクはNexus 6Pで「Edyチャージアプリ」を使う際にNFC機能が必要となるので、

FeliCa非対応のAndroidで楽天Edyの残高を確認&チャージする方法! カードタイプでもおサイフケータイと同等に使える
ボクはNexus 6Pを1年近く使っており大変満足していますが、数少ない不満点として「おサイフケータイ(FeliCa)非対応」という点があります。 詳しくは下記記事で說明していますが、その中でおサイフケータイ版楽天Edyと比較した楽天...

「Edyチャージアプリ起動時・終了時に、AndroidのNFCをオン / オフ切り替える設定」を例に說明をします。

手順①:自動化アプリを入手する

まず、Androidに自動化アプリ「MacroDroid」をインストールします。

本アプリの基本情報や使い方について、詳細は関連記事【MacroDroid – Androidでマクロを組んで作業を自動化! デザインもクールで使いやすい無料アプリ】で解説しています。

MacroDroid - Androidでマクロを組んで作業を自動化! デザインもクールで使いやすい無料アプリ
Android向けの自動化アプリは色々とあり、よく挙げられるのが「Tasker」や「IFTTT」あたりでしょうか。 どちらも非常に便利なアプリですが、有料だったり、設定やUIに難があったり、などなど初心者には操作しづらい欠点が...

さらに今回は「NFC機能を変更」というAndroidシステム中枢に関わる高度な設定を行うため、追加で「ADB hack済み」条件を満たす必要があります。

具体的にはパソコンでadbコマンドの環境を用意した上、Androidへ下記コマンドを流します。

adb shell pm grant com.arlosoft.macrodroid android.permission.WRITE_SECURE_SETTINGS
adb shell pm grant com.arlosoft.macrodroid android.permission.CHANGE_CONFIGURATION

内容が複雑なので、詳細は関連記事【MacroDroidの高度設定をroot不要で解放する方法! ADB hackでAndroidの自動化を強化しよう】で解説しています。

MacroDroidの高度設定をroot不要で解放する方法! ADB hackでAndroidの自動化を強化しよう
Android向けの自動化アプリは色々とありますが、直観的に自動化の設定ができる初心者にオススメな「MacroDroid」がボクのお気に入りです。 本ブログでも様々な自動化設定(マクロ)を紹介しています。 ...

以上の準備ができたら、MacroDroidを起動して「マクロの追加」へ進みます。

大まかなマクロ作成の流れを整理すると、今回は下記2種類のマクロを設定し、同時に動かします。

【マクロ①】

  • トリガー:アプリの起動 / 終了(Edyチャージアプリを開いたら)
  • アクション:NFC機能の設定(NFCをオンにする)
  • 条件:任意(設定しなくてもOK)

【マクロ②】

  • トリガー:アプリの起動 / 終了(Edyチャージアプリを閉じたら)
  • アクション:NFC機能の設定(NFCをオフにする)
  • 条件:任意(設定しなくてもOK)

さっそく設定してみましょう。

手順②:トリガーを設定する【マクロ①】

まず、1つ目のマクロ(Edyチャージアプリを開いたらNFCをオンにする)についてトリガーを設定します。

トリガー候補一覧より「アプリケーション」→「アプリの起動/終了」と選び、

「アプリの起動時」より対象アプリを選びます。

今回は例としてEdyチャージアプリにチェックを入れた。

ここで初回のみ「アクセシビリティ設定」が求められるので、画面に従って「ユーザー補助」設定にてMacroDroidを選び、

権限を有効にします。

以上で「アプリの起動時:Edyチャージアプリ」のトリガー設定ができました。

画面を右にスワイプし、「アクション」画面へ移ります。

手順③:アクションを設定する【マクロ①】

続いて、1つ目のマクロ(Edyチャージアプリを開いたらNFCをオンにする)についてアクションを設定します。

アクション候補一覧より「Connectivity」→「NFCの有効化 / 無効化」と進み、

「NFC ON」にチェックを入れます。

以上で「NFCをオンにする」のアクション設定ができました。

画面を右にスワイプし、「条件」画面へ移ります。

手順④:条件を設定する(任意)【マクロ①】

そして、1つ目のマクロ(Edyチャージアプリを開いたらNFCをオンにする)について条件を設定します。

「条件」は任意なので設定しなくてもマクロ作成は完成できますが、「トリガー」とは別の前提条件を追加したい場合に設定します。

例えば「充電中はNFCのオン / オフ切り替えをしない」としたい場合なら、条件候補一覧より「バッテリー/電源」→「電源の接続」と選び、

「電源が接続されていない」にチェックを入れればOKです。

任意設定なので本例では「条件」は何も設定せず、としました。

右下の「✓チェック」アイコンをタップします。

手順⑤:マクロ名称を決めて完了!【マクロ①】

最後にマクロ①の名前を決めます。この後もう1つマクロを作成するため、区別しやすい名称にすると良いでしょう(後から名前の変更はできます)。

作成したマクロはアプリトップ画面左上の「マクロ」より確認ができ、内容の編集や設定の有効可 / 無効化の切り替えも可能です。

手順⑥:同様の手順でマクロ②を作成する

以上ここまでが、マクロ①(Edyチャージアプリを開いたらNFCをオンにする)についての作成手順となりますが、全く同様の手順で逆の動作をするマクロ②(Edyチャージアプリを閉じたらNFCをオフにする)を作成します。

  • トリガー:「アプリの起動/終了」より「アプリの終了時:Edyチャージアプリ」
  • アクション:「NFCの有効化 / 無効化」より「NFCをオフにする」
  • 条件:設定なし

以上で対となる2つのマクロを作成できました。

 

実際に試してみる

2つのマクロが完成したら、実際に動くか試してみましょう。

動作検証:2つのマクロを動かす

例えば下記のようなマクロを有効化した状態で、

【マクロ①】

  • トリガー:アプリの起動 / 終了(Edyチャージアプリを開いたら)
  • アクション:NFC機能の設定(NFCをオンにする)
  • 条件:任意(設定しなくてもOK)

【マクロ②】

  • トリガー:アプリの起動 / 終了(Edyチャージアプリを閉じたら)
  • アクション:NFC機能の設定(NFCをオフにする)
  • 条件:任意(設定しなくてもOK)

まず普段からAndroidのNFC機能をオフにしておきます。

機種やOSバージョンによって異なりますが、例えばNexus 6P(Android 8.1)なら「設定」→「接続済みの端末」へ進み、「NFC」トグルをタップして無効にすればOK。

この状態でEdyチャージアプリを開くと、自動でNFCがオンへ切り替わりました!

左の「NFCがオンの時」の画面が表示されれば、切り替えに成功したと判断できる。

その後、Edyチャージアプリを閉じると、自動的にNFCがオフに戻ります。

以上の通り、作成した2つのマクロはどちらも正常に動作しました。

NFCはオフ→オンの切り替え時、機能が立ち上がるのに少し時間がかかるため、Edyチャージアプリを開いた後に数秒待つ必要がありますが、おおむねやりたいコトは実現できました!

うまく動作しない場合

冒頭で記載の通り、今回設定する「NFC機能を変更」は「rootまたはADB hack済み」が条件のアクションとなるため、adbコマンドが実行されているか改めて確認して下さい。

MacroDroidの高度設定をroot不要で解放する方法! ADB hackでAndroidの自動化を強化しよう
Android向けの自動化アプリは色々とありますが、直観的に自動化の設定ができる初心者にオススメな「MacroDroid」がボクのお気に入りです。 本ブログでも様々な自動化設定(マクロ)を紹介しています。 ...

「rootまたはADB hack済み」条件を満たせていない状態だと、アクションの部分でエラー表示が出ます。

 

補足:そのほかMacroDroidで設定できるマクロまとめ

本記事で紹介したマクロ以外にも、MacroDroidの便利な設定は無限に存在します。

例えば、自宅や会社周辺のGPS検出可否をトリガーに、Wi-Fi機能のオン / オフ切り替え設定を自動化できます(2種類のマクロを作成し、同時に動かします)。

【マクロ①】

  • トリガー:場所のトリガー(自宅周辺に入ったら)
  • アクション:Wi-Fi設定(Wi-Fiを有効化)
  • 条件:任意(設定しなくてもOK)

【マクロ②】

  • トリガー:場所のトリガー(自宅周辺を出たら)
  • アクション:Wi-Fi設定(Wi-Fiを無効化)
  • 条件:任意(設定しなくてもOK)
自宅や会社周辺でWi-Fiオン/オフを自動化! 特定エリアをGPSで検知して設定を変更 [Android]
契約している携帯キャリアのプランによって1ヶ月で利用できるデータ通信上限量が決まっているため、自宅や会社などWi-Fiを利用できる環境ではなるべくモバイルデータ通信の使用を控えるべきです。 が、ついWi-Fiが使えるにも関わらずWi-...

また、Bluetoothデバイス(例:イヤホン / スマートウォッチ)の紛失防止のため、下記マクロでBluetoothの切断を検知し通知表示できます。

  • トリガー:Bluetoothイベント(デバイスの切断を検知したら)
  • アクション:通知を表示(デバイスの切断を警告)
  • 条件:任意(設定しなくてもOK)
[Android] Bluetooth切断時に通知を自動表示! イヤホンやスマートウォッチの紛失防止を
ボクはBluetoothイヤホンやスマートウォッチを愛用しています。 ただ、持ち運ぶデバイスが増えるほど、外出先で無くすリスクが増えますよね。中にはせっかく購入したのに紛失して後悔している人もいるはず。 そこで本...

それ以外にも多数のマクロ設定例を、関連記事【MacroDroidでオススメのマクロ集まとめ! ルーティン作業はアクション/トリガーで自動化しよう】で解説しています。

MacroDroidでオススメのマクロ集まとめ! ルーティン作業はアクション/トリガーで自動化しよう
Android向けの自動化アプリは色々とありますが、直観的に自動化の設定ができる初心者にオススメな「MacroDroid」がボクのお気に入りです。 基本機能とその設定手順については、関連記事【MacroDroid – Andr...

 

〆:NFCオフを自動化しよう!

以上、AndroidのNFCを自動で無効にする方法! 特定アプリごとオンオフを切り替えて誤作動を防ごう の説明でした。

NFCオン / オフ切り替えを頻繁に操作しているなら、今回紹介したMacroDroidのマクロは大変便利ですよ。

ぜひ、お試しあれ。

Android使い方
おるくすをフォローする

関連記事

あっとはっく

コメント