EMUI を実行している Huawei または Honor デバイス上で Google の Smart Lock の位置ベースの機能を複製する方法に関するチュートリアル。
Huawei や Honor デバイスを所有したことがない場合は、おそらくタイトルを見て「え?」と思うでしょう。 結局のところ、Smart Lock は 2008 年に導入された機能です。 Android 5.0 ロリポップ デバイスへの迅速なアクセスを容易にするため 特定の条件下で 場所、特定のデバイスに接続しているとき、ポケットに入れているとき、または音声を認識しているときなど。
Lollipop がリリースされてから 2 年以上が経過しており、 すべての Android デバイスの約 65% Android 5.0以降で実行されています。 正確な統計はありませんが、少なくとも Lollipop を実行しているフォーラムのユーザーの割合ははるかに高いと思われます。 いずれにせよ、Google の Smart Lock 機能は Android デバイスの間で非常に一般的になったため、この機能を提供するサードパーティ アプリケーションが登場しました。 大体持っている された 放棄されたなぜなら、彼らはその機能と競合することに意味がないと考えているからです。
しかし、一組のユーザーには問題が残っています。 Smart Lock の無力化バージョン: を持つユーザー Huawei または Honor デバイス EMUIを実行しています。 何らかの理由で、EMUI は、他のほとんどの Android 5.0 以降のデバイスが提供するのと同じ Smart Lock 機能を提供しません。 代わりに、EMUI では、特定の Bluetooth デバイスに接続されている場合にのみ、デバイスのロックを自動的に解除できます。
スマートウォッチやフィットネス バンドなどの Bluetooth ウェアラブルを所有している場合は確かに便利ですが、誰もがウェアラブル デバイスを常にスマートフォンに接続しているわけではありません。 Huawei が Google の Smart Lock 機能を除外したのは明らかに意図的です。Android で Smart Lock を「信頼できるエージェント」として有効にしても、実際にその機能を使用することはできないからです。
基本的に、Google の Smart Lock よりも機能が少ない Huawei の「Smart」Lock 機能を使用することになります。 Huawei/Honor デバイス所有者としての唯一の選択肢は、Play ストアの多くのオプションの 1 つを試すことです この機能を追加すると主張するもの (私のデバイスではどれも動作したことはありません)、または携帯電話をルート化すると主張するもの Xused モジュールをダウンロードする. もちろん、EMUI にはまともなオプションがなかったため、このチュートリアルを書くことになりました。 Tasker のちょっとした魔法と AutoTools と呼ばれるプラグインを使えば、次のことが可能になります。 root を必要とせずに、位置情報に基づいて Huawei または Honor デバイスのロックを自動的に解除します。
Huawei/Honor デバイス用の Smart Lock
この機能を稼働させるために必要なアプリケーションは 2 つだけです。 1つ目は タスカーは、最も日常的な問題から非常に複雑な問題まで、さまざまな問題を解決するために XDA で頻繁に取り上げられる、非常に人気のある Android 自動化ツールです。 2.99 ドルという価格で、これほど単純な目的のためにこのアプリケーションを購入する必要はないと思われるかもしれませんが、このアプリケーションが提供できる価値は、その気になれば非常に大きなものになります。 いくつかのチュートリアルをじっくり読んでみる. 次に、Tasker プラグインのベータ版が必要になります。 オートツール. このプラグインは、Tasker のネイティブ ツールキットに大量の便利な機能を追加します。特に、目的を達成するには、安全な設定として知られる AutoTools の機能が必要になります。
ここで行うことは、携帯電話がタイムアウトになった後にロック画面を表示するタイミングを決定するために Android が使用するタイマーを制御するデバイス上のプロパティを変更することです。 ここでの「タイムアウト」とは、X 分間非アクティブ状態が続いた後に携帯電話の画面がオフになるか、ユーザーが電源ボタンを押して手動でディスプレイをオフにすることを指します。 一定時間(デバイスがスリープ状態に入った直後からスリープ状態に入ってから 30 分後まで)が経過すると、Android はロック画面を表示します。
これら 2 つの機能の問題は、デフォルトで「自動的にロック」タイマーを増やすとセキュリティ上の問題になる可能性があることです。 ロック画面がまだアクティブになっていない時間枠内にデバイスがスワイプされると、泥棒はあなたのすべてのコンテンツにアクセスできるようになります。 デバイス。 これを軽減するために、Android では「電源ボタンを押すとすぐにデバイスをロックする」オプションが提供され、電源ボタンを押してすぐにロック画面をアクティブにすることができます。 ただし、特に画面のタイムアウトを短く設定している場合は、これを忘れがちなので、デバイスを引き続き使用できるようになります。 テーブルの上やポケットの中で手動で電源を押さずに誤ってデバイスをタイムアウトさせてしまった場合、悪意のある第三者によってアクセスされる可能性があります。 ボタン。
したがって、この問題に対する私たちの解決策は、手動介入を必要とする電源ボタンではなく、より長い「自動ロック」タイマーを場所/WiFi に結び付けることです。 そうすれば、 自宅では快適にロック画面なしでデバイスを使用できますが、ロック画面の PIN/パスワードは外出先でも常に表示されるのでご安心ください。 家。 何をやっているのか説明しましたが、実際にどのように行うのかを次に示します。
チュートリアル
前に述べたように、特定のシステム プロパティを変更します。 このプロパティは、 設定。 セキュアクラス 名前と一緒に lock_screen_lock_after_timeout、ミリ秒単位の整数値を受け入れます。 この値を変更するには、root アクセスを必要とせずにこれらの設定に書き込むことができるように、AutoTools に特定の権限を付与する必要があります。
Android の権限管理システムでは、アプリケーションはマニフェスト ファイルで付与する権限を定義します。 その後、ユーザーはインストール時 (Marshmallow 以前) またはオンデマンド (Marshmallow+) で権限を付与または拒否できます。 ただし、アプリケーションがマニフェストで要求しても付与できない特定の権限があります。 WRITE_SECURE_SETTINGS. これは、これと同じくらい強力な権限をアプリケーションに付与すると、そのアプリケーションがデバイスを大幅に制御できるようになるためです。
ただし、必要なアプリに WRITE_SECURE_SETTINGS 権限を付与するために使用できる回避策が 1 つあります。 ADB を使用することで パッケージマネージャー (午後) ツールを使用すると、必要なアプリケーションにほぼすべての権限を付与できます (アプリケーションがマニフェスト ファイルでその権限を要求している場合)。
最初に行う必要があるのは、 ADBバイナリをインストールする コンピュータにインストールし、続いて デバイスに適したドライバー. 次に、開発者向けオプションで USB デバッグを有効にし (まだ設定していない場合は、[設定] --> [端末情報] に移動し、[ビルド番号] を 7 回タップします)、携帯電話をコンピュータに接続します。 最後に、ターミナルを開いたら、次のコマンドを送信します。
adb shell pm grant com.joaomgcd.autotools android.permission.WRITE_SECURE_SETTINGS
AutoTools は、デバイス上のグローバル、セキュア、またはシステム設定を変更できるようになりました。 これらの設定を試すことができるさまざまな方法があり、利用可能な設定のリストは次のとおりです。 各カテゴリはデバイスとソフトウェアのビルドに完全に依存しますが、その議論はまた別の機会に行います。 時間。 いずれにせよ、オートツールを使用してロック画面のタイムアウトを制御する方法を説明していきます。
ステップ 2 - Tasker のセットアップ
Taskerを開き、 + 右下隅の アイコンをクリックして、新しいプロファイルを作成します。 新しいプロファイルに「Automatic Lock」など、好きな名前を付けます。 使用するコンテキストのタイプとして、次を選択します。 州. に行く ネット --> WiFi 接続済み. ここでは、デバイスのロックを自動的に解除するためにホワイトリストに登録する WiFi ネットワークを選択します。 ヒット 虫眼鏡 アイコンをクリックし、ホワイトリストに登録するすべての WiFi ネットワークを選択します。
オプション: (WiFi ネットワークだけをベースにするのではなく) 真の位置ベースの Smart Lock を作成したい場合は、 その後、状態 --> ネット --> WiFi 接続の代わりに、Tasker で「場所」コンテキストを使用できます。 特徴。 Tasker はジオフェンスを作成しないため、この方法ではバッテリーの消耗が悪化することに注意してください。 Tasker をよりバッテリー効率の高いジオフェンスに反応させたい場合は、 自動位置情報 プラグイン。
戻ると、次にタスクを作成するように求められます。 任意の名前を入力して (または何もなくても問題ありません)、タスク作成画面に移動します。 を押します。 + 中央下にあるアイコンをクリックして、新しいアクションを追加します。 に行く プラグイン --> オートツール --> 安全な設定。 ヒット 鉛筆 アイコンをクリックして、AutoTools セキュア設定設定画面を開きます。 に行く ロック画面 --> オートロック 値には、「」などの十分に大きな値を入力します。9001'. これは、AutoTools が自動ロック画面タイマーを設定する値 (秒単位) です。 幸いなことに、コマンドを手動で設定して変更する必要はありません。 lock_screen_lock_after_timeout 値。AutoTools の開発者がこの機能を実装してくれました。 素晴らしいGUIで。
この設定を保存するには、上部のチェックマーク アイコンを押し、次に戻るキーを押して Tasker に戻り、最後にタスク作成画面を終了します。 これを完了すると、自宅にいる間、Tasker は自動的にデバイスのロックを解除した状態を非常に長い間維持します。 「」であることを確認してください。電源ボタンでデバイスを即座にロック" は 無効 安全なロック設定にしないと、自宅で電源ボタンを押すと、携帯電話のロック画面がアクティブになり、これは望ましくないことです。
最後に、ホワイトリストに登録されている WiFi ネットワークから離れるときにトリガーされる別のタスクを追加する必要があります。 Tasker のメイン ページで、 長押し で タスク 作成したばかりのアイコンをタップして、 終了タスクを追加 ポップアップメニューで。 このタスクに任意の名前を付けて、もう一度タスク作成画面に入ります。 ここで、 + アイコンをクリックして再度移動します プラグイン --> オートツール --> 安全な設定. 同じ自動ロック オプションに、今回は次の値を入力します。 0. WiFi ネットワークから離れると、Tasker は電話がタイムアウトになった後にロック画面が表示されるのを遅らせることがなくなりました。
オプション: を押して 2 番目のアクションを追加します。 + アイコンですが、今回はここに移動します 表示 --> システムロック. このアクションにより、ホワイトリストに登録されている WiFi ネットワークの範囲を出るときに携帯電話が自動的にロックされます。 表示タイムアウトが非常に長く、家を出るときに携帯電話がスリープ状態にならない場合に備えて。 これを行う場合は、[設定] に移動して、Tasker をデバイス管理者にする必要があります。 オプションを検索して、Tasker に権限を付与するだけです。
以上です! このチュートリアルは長く見えますが、実際には、Tasker スクリプト自体は非常に単純です。 この機能を有効にするには、合計で最大 3 つのアクションが必要です。 これを試してみて、どのように機能するかをお知らせください。