Выполнить намерение DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN из службы

У меня есть служба, и я хочу, чтобы ее продвигали, чтобы включить ее в качестве администратора устройства, до сих пор я запускал такие взаимодействия с пользовательским интерфейсом из службы, например

    Intent intent2 = new Intent();
    intent2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent2.setAction(android.content.Intent.ACTION_VIEW);
    intent2.setDataAndType(uri, "application/vnd.android.package-archive");
    context.startActivity(intent2);

, и это работает, но с DevicePolicyManager я не могу найти способ:

        Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mAdminName);
        intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,  "some text.");
        context.startActivity(intent);

не работает: ничего не продвигать, но и не дает сбоев. Без intent.setFlags (Intent.FLAG_ACTIVITY_NEW_TASK); Просто произойдет сбой, потому что этот код находится внутри протектора внутри службы. Идеи?

6
задан Walid Hossain 31 December 2011 в 04:16
поделиться