9

デバイス マネージャー アプリケーションがあり、API 21 以降で利用可能な DevicePolicyManager クラスの setScreenCaptureDisabled(..) 関数を使用しようとしています。

DevicePolicyManager pManager = (android.app.admin.DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
pManager.setScreenCaptureDisabled(admin.getReceiverName(), true);

次のエラーが表示されます。

03-30 13:50:24.623: E/AndroidRuntime(11564): 
java.lang.SecurityException: Admin 
ComponentInfo{com.example.xxv/com.example.xxv.DeviceAdminReceiver} 
does not own the profile

この問題を解決する方法はありますか?

許可が必要な場合は、それが何であるかを示してください。

4

3 に答える 3

1

このコードでプロファイルをセットアップする必要があると思います

Intent intent = new Intent(**ACTION_PROVISION_MANAGED_PROFILE**);
intent.putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME,
activity.getApplicationContext().getPackageName());
if (intent.resolveActivity(activity.getPackageManager()) != null) {
    startActivityForResult(intent, REQUEST_PROVISION_MANAGED_PROFILE);
    activity.finish();
} else {
    Toast.makeText(activity, "Stopping.",Toast.LENGTH_SHORT).show();
}
于 2015-07-07T22:59:35.743 に答える
-1

として正しく登録されていDeviceAdminReceiverますか?

Android ドキュメンテーションHEREに従って、呼び出し元のデバイス管理者は、デバイスまたはプロファイルの所有者である必要があります。そうでない場合は、セキュリティ例外がスローされます。

そして、ログから、あなたがプロファイルを所有していないことは明らかです!

于 2015-04-25T18:39:49.100 に答える