이 "제공 응용 프로그램"응용 프로그램의 어떤 종류입니까?
구성 제공자 응용 프로그램은 장치에서 실행중인 다른 응용 프로그램입니다. 이 앱은 일반적으로 관리자가 관리합니다. 관리자는 구성 변경 사항을 공급자 앱에 전달하고이 앱은 관리되는 앱의 구성을 변경합니다.
는 BasicManagedProfile 샘플에서보세요 :
https://github.com/googlesamples/android-BasicManagedProfile. 이것은 정확히이 종류의 앱입니다.
구성 제공자로 작동하려면이 앱에서 구현해야하는 Android API가 있습니까?
예,이 앱이 관리 프로비저닝 프로파일을 요청해야합니다 :
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, "Device provisioning is not enabled. Stopping.",
Toast.LENGTH_SHORT).show();
}
관리 응용 프로그램이 할 수 있도록이 동반자 애플 리케이션의 RestrictionsManager로 구성 변경 사항을 후크 않는 방법
을 검색 하시겠습니까?
그것은 관리 응용 프로그램에 대한 제한을 적용 할 DevicePolicyManager을 사용
다시
DevicePolicyManager manager = (DevicePolicyManager) getActivity().getSystemService(Context.DEVICE_POLICY_SERVICE);
Bundle settings = new Bundle();
settings.putBoolean("downloadOnCellular", true);
manager.setApplicationRestrictions(
BasicDeviceAdminReceiver.getComponentName(getActivity()),
PACKAGE_NAME_MANAGED_APP, settings);
는이이 샘플 프로젝트에서 수행되는 방법을 살펴 보자.
ACTION_APPLICATION_RESTRICTIONS_CHANGED는 시스템에서만 보낼 수있는 보호 된 의도입니다. "관리되는 구성 제공자"가 전송하지 않습니다. –