2017-05-17 11 views
1

デバイス管理者とプロファイル所有者の仕組みを知りたいと思っています。私はgoogleのウェブサイトからいくつかの例に従ったが、私はまだプロフィール所有者がどのように働いているかわからない。Androidデバイスの管理者/プロフィールの所有者

これをテストするには、プロファイル所有者を受け入れるようにユーザーに尋ねるサンプルアプリケーションを作成し、ユーザーの操作なしで証明書をインストールします。なぜ私にはわからないここで

@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); 
} 

:私はこのような何かを持っている私の受信機で

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

:私は私の活動にこれをしたプロファイルの所有者の要求のために

私はプロファイルの所有者モードで入力することができるようにアプリケーションを再起動する必要があります。 私はプロファイルの所有者を働かせて、アプリケーションを閉じてもう一度起動すると、私はプロファイルの所有者モードを再開しません。私は、アプリケーションを再起動

なぜプロファイル所有者が無効になっている
if (!mDeviceController.isProfileActive()) { 
     Log.i("DeviceAdminSample", "Profile is disabled!!!!!"); 
    } 

とき:プロファイルの所有者モードは、アプリケーションのOnCreate()メソッドでこのような何かを実行して、アクティブになっている場合

私がチェックしていますか?ユーザーがアプリケーションを開くたびにプロファイル所有者モードを有効にすることを避ける方法はありますか?

さらに、このメカニズムを使用して証明書をインストールすると、他のアプリでもこの証明書を使用できます。または、証明書は作成されたプロファイルに対してのみ機能しますか?

答えて

1

あなたが不足しているように見えます:

manager.setProfileEnabled(componentName); 

私は、以下の例のいくつかをもう少し近くに探してお勧めします。私はisProfileActive()が何をしているのか分かりません。私が使用します。

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

管理対象プロファイルを作成すると、管理対象プロファイルのアプリやデータは、ユーザーのアプリの管理対象プロファイルを作成/データ(ほとんどの場合、作業対個人)とは別のものです。元のユーザーのコンテキストからアプリを開くと、再び仕事用プロフィールを設定しようとします。あなたのアプリをプロフィールの所有者として見るには、管理されたプロフィールのコンテキストでアプリを開く必要があります(アプリは「バッジ」となり、ブリーフケースが少しあります)。また、証明書のようなデータは管理されたプロファイルに制限されます。

フォローする良好な初期の例: https://github.com/googlesamples/android-BasicManagedProfile

はるかに複雑であるが、より完全な例。デバイスの所有者またはプロフィールの所有者として設定できます。 https://github.com/googlesamples/android-testdpc

関連する問題