2012-08-14 4 views
44

アンドロイド電話をリモートでロックするアプリケーションを作成しました。つまり、特別なコードがサーバーから送信されたとき、アプリケーションは特別なコードに基づいて電話をロックします。これは私が使用しているコードです。リモートでコードを使ってアンドロイド携帯電話のロックを解除するには

if (!mDPM.isAdminActive(mDeviceAdminSample)) { 
     // try to become active – must happen here in this activity, to get result 
     Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); 
     intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,mDeviceAdminSample); 
     intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,"Admin is added to do security operation."); 
     startActivityForResult(intent, 0); 
     } else { 
     // Already is a device administrator, can do security operations now. 
     mDPM.lockNow(); 
     } 

上記のコードは機能しており、電話機をロックしています。

ソフトキーパッドからパスワードを入力して電話機のロックを解除できます。コードでロックを解除する方法はありますか?

私の質問は、コードを携帯電話のロックを解除する方法です(このロック解除は、私はロックのために説明した方法でリモートで実行する必要があります)

+0

min APIとは何ですか?mainManifestにuses-permissionを追加しましたか? –

答えて

1

私はAndroidの開発者じゃないことに注意し、しかしください。

thisを見ると、「安全なロック」モードであっても、適切な権限を持っている場合、キーガードを閉じるようにWindowManagerに依頼することができます。

+0

ロックするためにパスワードを使用しているため、いいえ動作しません – kehnar

+0

試しましたか? – HonkyTonk

+0

はい私はチェックした。 – kehnar

2

onDestroy() { 
kl.reenableKeyguard(); 
} 

これは< = ICSに動作します(必要な場合)終了時にキーガードを再び有効にするために、この

KeyguardManager manager = (KeyguardManager)context.getSystemService(KEYGUARD_SERVICE); 
kl = manager.newKeyguardLock("my-remote-app"); 
kl.disableKeyguard(); 

//を試してみてください。 これは廃止予定のAPIですので、同様の効果を得るためにWindowManagerのフラグを使用するように提案しました。私はWindowMangerを使って同様の効果を生み出すことができませんでした。

希望します。

+0

既にチェックされています。それは動作しません。 – kehnar

+0

私はICSでGNote N7000で使用しています。 KeyguardManagerの使用を許可しましたか?さもなければ、あなたの意図はSecurityExceptionのために殺されるかもしれません。 – fadedreamz

+0

ロックアウトインテントを生成するときに、NEW_TASKフラグを追加することもできます。 – fadedreamz

5

リモートロック解除の目標は達成できません。

Androidの設定方法は、多くのアプリにデバイス管理者権限があり、どのデバイス管理者もロックコマンドを発行できますが、ロック解除はユーザーからのものでなければなりません。

あなたのアプリはキーロックパスワードを削除しようとする可能性があり、ユーザーは画面上で指をスライドさせるだけでコードなしでデバイスを使用できます。

あなたのアプリが唯一のデバイス管理者ではない場合、私は示唆したことに悩まされています。その場合、他の管理者アプリでスクリーンロックパスワードをクリアできないような最小パスワードの長さ(またはその他のパスワード制限)を設定できます。

スクリーンロックパスワードを忘れたユーザーを助けることを目標とする場合、サーバーは新しいパスワードを作成し、ユーザーに新しいパスワードが何であるかを知らせ、新しいパスワードをアプリとアプリはパスワードを適用することができます。その後、ユーザーは電話機のロックを解除できます。心配しないでください、それは聞こえるほど複雑ではありません。

4

ご迷惑をおかけして申し訳ありません。コードから携帯電話のロックを解除する方法はありません。それを行うための方法が見つかった場合 - 動作する保証はありません。したがって、リモートロックを解除する方法、カスタムロック画面を作成する方法などはありません。

1

私の知るところでは、パスワード保護された電話機をプログラマチックにロック解除することはできません。

+7

名前がありません。 – Shark

6

サムスンとHTCのような独自のデバイスを作成しない限り、内蔵のスクリーンロックを上書きすることはできません。しかし、お客様が独自のスクリーンロックのようなアプリを使用することによって、おそらくあなたがしようとしていることを達成することができます。

0

解決策の1つは、「カスタムロックスクリーン」を作成することです。 もちろん、これは最も簡単な方法ではありませんが、独自のロック画面ですべてを行うことができます。 解決策を検討している場合は、私に連絡して自由にリンクしてください。 乾杯!

+0

Androidはコスチュームロック画面をサポートしていません –

+0

@Ilya_Gazmanそれはほぼサポートしていますが、公式APIではサポートしていません。カスタムのロック画面を表示するには、アプリをデフォルトのランチャーにする必要があります。いくつかのサンプルアプリケーションがあります:http://www.androidauthority.com/best-music-player-apps-for-android-208990/ https://www.androidpit.com/best-android-lock-screen-apps –

+0

@ androiddeveloper私は4年間で多くのことが起こると思います。 lol –

関連する問題