5

インテントを起動して、プログラムで ICS デバイスの暗号化をトリガーしようとしています(Intent --> DevicePolicyManager.ACTION_START_ENCRYPTION)。これは非常にうまく機能します。ユーザーが「デバイスの暗号化」をクリックしたか、要求を拒否したかを認識するために、そのようなブロードキャストまたは sth が送信されたかどうかを知りたいです。ユーザーの決定に注意する必要があります。

2 番目の質問は、setStorageEncryption(admin, boolean)内に実装されている method に関するものDevicePolicyManagerです。setStorageEncryption(admin, false)上記の暗号化インテントを後で起動した場合、の呼び出しはデバイスの暗号化に影響を与えますか?

敬具

4

1 に答える 1

2

インテントDevicePolicyManager.ACTION_START_ENCRYPTIONはユーザーをSettings -> Security -> Encrypt Phoneダイアログに送り、そこでユーザーはアクションを 2 回確認する必要があります。また、デバイスには少なくとも 80% のバッテリーがあり、充電ケーブルに接続されている必要があります。

ユーザーがこのアクションを拒否した場合、または充電ケーブルが挿入されていないなどの理由で禁止されている場合、ブロードキャストは送信されません。

CommonsWare が正しく言及しているように、アプリケーションは を使用して暗号化ステータスを定期的にチェックできますDevicePolicyManager.getStorageEncryptionStatus()

を呼び出すDevicePolicyManager.setStorageEncryption(admin, false)と、その管理者の最小ポリシーが に設定されnot encryptedます。ただし、他の管理者はより強力なポリシーを持つことができます。

デバイスがすでに暗号化されている場合、 a を設定しnot encrypted policyてもデバイスは復号化されません。また、ユーザーが を使用してデバイスを手動で暗号化することを妨げませんSettings -> Security -> Encrypt Phone。この場合もインテントDevicePolicyManager.ACTION_START_ENCRYPTIONはブロックされません。

于 2014-07-23T22:15:03.877 に答える