2017-05-17 5 views
1

기기 관리자 및 프로필 소유자가 어떻게 작동하는지 알고 싶습니다. 나는 Google 웹 사이트에서 몇 가지 예를 따랐지만 여전히 프로필 소유자가 어떻게 작동하는지 잘 모릅니다.Android 기기 관리자/프로필 소유자

이것을 테스트하기 위해 사용자에게 프로필 소유자를 수락하도록 요청한 샘플 앱을 작성한 다음 사용자 상호 작용없이 인증서를 설치합니다. 내 활동에 이런 짓을 프로필 소유자의 요청에 대한

: 내 수신기에

Intent intent = new Intent(ACTION_PROVISION_MANAGED_PROFILE); 
intent.putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME, getApplicationContext().getPackageName()); 
startActivityForResult(intent, REQUEST_PROVISION_MANAGED_PROFILE); 

나는 이런 식으로 뭔가가 : 여기에서

@Override 
public void onProfileProvisioningComplete(Context context, Intent intent) { 
    // Enable the profile 
    DevicePolicyManager manager = 
      (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE); 
    ComponentName componentName = getComponentName(context); 
    manager.setProfileName(componentName, context.getString(R.string.profile_name)); 

    // If I do not do this, the application will not enter in profile mode, and I don't know why 
    Intent launch = new Intent(context, MainActivity.class); 
    launch.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    context.startActivity(launch); 
} 

을 난 이유를 모르겠어 프로필 소유자 모드로 들어갈 수 있도록 응용 프로그램을 다시 시작해야합니다. 프로필 소유자가 작동하고 앱을 닫고 다시 시작하면 프로필 소유자 모드가 다시 시작되지 않습니다. 나는 응용 프로그램을 다시 시작

왜 프로필 소유자가 비활성화되어
if (!mDeviceController.isProfileActive()) { 
     Log.i("DeviceAdminSample", "Profile is disabled!!!!!"); 
    } 

때 프로필 소유자 모드 응용 프로그램에서 OnCreate() 메소드에 이런 일을 수행하여 활성화 된 경우

나는 확인 해요? 사용자가 응용 프로그램을 열 때마다 프로필 소유자 모드를 활성화하는 것을 피할 수있는 방법이 있습니까?

또한이 메커니즘으로 인증서를 설치하면 다른 앱에서도이 인증서를 계속 사용할 수 있으며 인증서는 생성 된 프로필에서만 작동합니다. 당신이없는 것처럼

답변

1

같습니다 :

manager.setProfileEnabled(componentName); 

내가 아래 예제의 일부에 좀 더 가까이보고하는 것이 좋습니다. 나는 isProfileActive()이 무엇인지 모르겠습니다. 내가 사용하는 것 :

manager.isProfileOwnerApp(getApplicationContext().getPackage()) 

관리되는 프로필을 만들 때 관리 프로파일의 응용 프로그램 및 데이터는 사용자의 응용 프로그램 관리 프로파일을 생성/데이터 (대부분의 경우, 직장 대 개인)에서 별개입니다. 원래 사용자의 컨텍스트에서 앱을 열면 다시 직장 프로필을 설정하려고 시도합니다. 앱을 프로필 소유자로 보려면 관리 프로필의 컨텍스트에서 앱을 열어야합니다 (앱에 배지가 있고 배지가 적음). 또한 인증서와 같은 데이터는 관리되는 프로필로 제한됩니다. https://developer.android.com/work/managed-profiles.html

  • https://developers.google.com/android/work/build-dpc