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

スポンサーリンク

グローバルモデル含め、多くの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の残高を確認&チャージする方法! カードタイプでもおサイフケータイと同等に使える

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

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

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

Android 要件:4.2 以上

価格:無料(全ての機能が使える有料版もあり)

本アプリの基本情報や使い方については、別記事で詳細をまとめているので合わせてどうぞ。

関連記事

MacroDroid – Androidでマクロを組んで作業を自動化! デザインもクールで使いやすい無料アプリ

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

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

内容が複雑なので、詳細は別記事で解説しています。

関連記事

MacroDroidの高度設定をroot不要で解放する方法! ADB hackでAndroidの自動化を強化しよう

以上の準備ができたら、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の自動化を強化しよう

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

補足:他にもMacroDroidで設定できるマクロはたくさん!

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

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

【マクロ①】

トリガー:場所のトリガー(自宅周辺に入ったら)

アクション:Wi-Fi設定(Wi-Fiを有効化)

条件:任意(設定しなくてもOK)

【マクロ②】

トリガー:場所のトリガー(自宅周辺を出たら)

アクション:Wi-Fi設定(Wi-Fiを無効化)

条件:任意(設定しなくてもOK)

関連記事

自宅や会社周辺でWi-Fiオン/オフを自動化! 特定エリアをGPSで検知して設定を変更 [Android]

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

トリガー:Bluetoothイベント(デバイスの切断を検知したら)

アクション:通知を表示(デバイスの切断を警告)

条件:任意(設定しなくてもOK)

関連記事

[Android] Bluetooth切断時に通知を自動表示! イヤホンやスマートウォッチの紛失防止を

それ以外にも多数のマクロ設定例を別記事でまとめているので、ぜひご覧あれ。

関連記事

MacroDroidでオススメのマクロ集まとめ! ルーティン作業はアクション/トリガーで自動化しよう

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

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

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

ぜひ、お試しあれ。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

あわせて読みたい