0

Android では、システム設定に移動して画面ロックを有効にすることができます。これにより、パスワード、PIN、または画面のロックを解除するその他の手段を要求できます。これは通常、デバイスをスタンバイ モードにする場合、または画面が暗くなった後にスタンバイ モードになる場合に使用されます。

私がやりたいことは、アプリ内でこの画面ロックを再利用することですが、特定のアクティビティへのアクセスを防ぐことです。ボタンを押すと、ユーザーが PIN を入力する必要がある画面ロック アクティビティが表示されます。彼らが正しく入力した場合は、アクティビティにアクセスできるようにします。それ以外の場合は、アクティビティを使用できません。

このシナリオで画面ロック アクティビティを再利用することは可能ですか? その場合、どの API が必要ですか? Android 2.3で動作するならいいのに

編集:

私のアプリが動作するにはPINまたはパスワードが必要だと思っている人もいます。そうではありません。アプリ内の特定のデータを保護したいユーザーは、表示するために PIN またはパスワードを要求することができます。しかし、システムに既にパスワード/PIN アクティビティまたはダイアログがあるのに、なぜ自分自身のパスワード/PIN アクティビティまたはダイアログを作成する必要があるのでしょうか。

4

3 に答える 3

0

KeyguardManagerKeyguardManager.KeyguardLockを見ることができます。API レベル 13 からこの機能の動作に変更があるようですが、私は一般的にトピックに精通していないため、このルートに進む予定がある場合は調査する必要があります。

アプリに自己完結型のものを実装する方がおそらく良いでしょう。画面を (おそらく別のアクティビティで) 覆ったり、プログラムで UI 要素を非表示にしたり、パスワード入力フィールドなどで別の UI を表示したりするのは非常に簡単です。

于 2013-05-11T05:42:54.727 に答える
0

この種のセキュリティは、設定アプリなどの組み込みのシステム コンポーネントでのみ利用できます。サード パーティのアプリはパスワード ダイアログの表示を要求できず、ユーザーが正しいコードを入力した場合にのみ動作を継続します。

さらに、かなりの数のユーザーがデバイスにパス コードを持っていません。

于 2013-05-11T05:37:54.297 に答える
-1

画面ロック機能はAndroid 2.2自体から使えますので、2.3でも問題なく動作します。この機能の使い方は大きく分けて2通りあります。

1つ目は。

画面をロックするには、次の 2 つの方法があります。

   PowerManager manager = (PowerManager) getSystemService(Context.POWER_SERVICE);


    manager.goToSleep(int amountOfTime);

二つ目は

     PowerManager.WakeLock wl = manager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,Your        Tag");
      wl.acquire();
     wl.release();

許可も必要です。

  <uses-permission android:name="android.permission.WAKE_LOCK" />
于 2013-05-11T05:43:11.497 に答える