Android アプリで Device Policy Manager を使用していますが、ハニカム デバイスに問題があります。resetPassword を呼び出そうとすると、例外がスローされます。これは、Froyo や Gingerbread には当てはまりません。どちらも正常に機能します。
エラーは次のとおりです。
java.lang.RuntimeException: レシーバー Package.Name.Test を開始できません: java.lang.SecurityException: 権限の拒否: com.android.providers.settings.SettingsProvider uri content://settings/secure from pid=x, uid= の書き込みy は android.permission.WRITE_SETTINGS が必要です
私のAndroidコードは次のとおりです。
DevicePolicyManager mDPM = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
if ((mDPM.getActiveAdmins() != null) && (mDPM.isAdminActive(new ComponentName(context, DeviceAdmin.class)))) {
mDPM.resetPassword(extra, DevicePolicyManager.RESET_PASSWORD_REQUIRE_ENTRY);
mDPM.lockNow();
} else {
Log.d(TAG, "Could not lock because device admin not enabled");
}
問題は次の場所で発生します。
mDPM.resetPassword(extra, DevicePolicyManager.RESET_PASSWORD_REQUIRE_ENTRY);
私の Device_Admin.xml は次のとおりです。
<device-admin xmlns:android="http://schemas.android.com/apk/res/android">
<uses-policies>
<force-lock />
<wipe-data />
<reset-password />
</uses-policies>
</device-admin>
私が言ったように、デバイス管理者は Froyo と Gingerbread デバイスでうまく機能しますが、異なるキーガードを使用しているユーザーにはいくつか問題があります.Droid X と HTC Sense. この問題はタイミングにあります。lockNow を呼び出すと、デバイスは画面をオフにしますが、HTC Sense または MotoBlur は、[設定]、[セキュリティ]、[後で電話をロックする] で設定された時間までキーガードを実際にロックしません。
どんな助けでも素晴らしいでしょう!最近 I/O でハニカム タブレットを入手したばかりで、このデバイスでアプリをまだテストしていませんが、Xoom 3.0 を実行しているユーザーのマーケット Web サイトでエラーが表示されます。3.1 デバイスはまだ見たことがありません。