2015-09-24 33 views
6

DevicePolicyManagerメソッドを使用します:setSecureSettingです。このメソッドにはプロファイルまたはデバイスの所有者が必要です:デバイス管理API、デバイス所有者の方法

Settings.Secure設定を更新するためにプロファイルまたはデバイスの所有者から呼び出されます。

私がisAdminActiveを呼び出すと、trueを返すため、アプリケーションがデバイス管理を有効にしました。

しかし、私はsetSecureSettingを呼び出したとき、私は例外だ:API上のデバイスの所有者になる方法を、そう

E/DevicePolicyUtility(9901): java.lang.SecurityException: Admin ComponentInfo{com.xxxx/com.xxxx.MyDeviceAdminReceiver} does not own the profile 
E/DevicePolicyUtility(9901): at android.os.Parcel.readException(Parcel.java:1546) 
E/DevicePolicyUtility(9901): at android.os.Parcel.readException(Parcel.java:1499) 
E/DevicePolicyUtility(9901): at android.app.admin.IDevicePolicyManager$Stub$Proxy.setSecureSetting(IDevicePolicyManager.java:4300) 
E/DevicePolicyUtility(9901): at android.app.admin.DevicePolicyManager.setSecureSetting(DevicePolicyManager.java:3399) 

を? 私はAPIレベル23でこれを試すhttp://developer.android.com/guide/topics/admin/device-admin.htmlhttp://developer.android.com/reference/android/app/admin/DevicePolicyManager.html


に見つからない:

Intent intent = new Intent(DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE); 
intent.putExtra(DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME,ctx.getPackageName()); 
if (intent.resolveActivity(ctx.getPackageManager()) != null) { 
    ctx.startActivity(intent); 
} else { 
    Toast.makeText(ctx, "Stopping.", Toast.LENGTH_SHORT).show(); 
} 

そして、私がメッセージを得た:デバイスの所有者になるためにenter image description here

答えて

3

を、2があります可能性

dpm set-device-owner:指定されたコンポーネントをアクティブな管理者に設定し、デバイスの所有者として パッケージを設定します。フロランデュポンへ

ありがとう:http://florent-dupont.blogspot.fr/2015/01/android-shell-command-dpm-device-policy.html

関連する問題