in BasicManagedProfile/Application/src/main/java/com/example/android/basicmanagedprofile/BasicManagedProfileFragment.java [259:306]
private void setChromeRestrictions() {
final Activity activity = getActivity();
if (null == activity) {
return;
}
final DevicePolicyManager manager =
(DevicePolicyManager) activity.getSystemService(Context.DEVICE_POLICY_SERVICE);
final Bundle settings = new Bundle();
settings.putString("EditBookmarksEnabled", "false");
settings.putString("IncognitoModeAvailability", "1");
settings.putString("ManagedBookmarks",
"[{\"name\": \"Chromium\", \"url\": \"http://chromium.org\"}, " +
"{\"name\": \"Google\", \"url\": \"https://www.google.com\"}]");
settings.putString("DefaultSearchProviderEnabled", "true");
settings.putString("DefaultSearchProviderName", "\"LMGTFY\"");
settings.putString("DefaultSearchProviderSearchURL",
"\"http://lmgtfy.com/?q={searchTerms}\"");
settings.putString("URLBlacklist", "[\"example.com\", \"example.org\"]");
StringBuilder message = new StringBuilder("Setting Chrome restrictions:");
for (String key : settings.keySet()) {
message.append("\n");
message.append(key);
message.append(": ");
message.append(settings.getString(key));
}
ScrollView view = new ScrollView(activity);
TextView text = new TextView(activity);
text.setText(message);
int size = (int) activity.getResources().getDimension(R.dimen.activity_horizontal_margin);
view.setPadding(size, size, size, size);
view.addView(text);
new AlertDialog.Builder(activity)
.setView(view)
.setNegativeButton(android.R.string.cancel, null)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
// This is how you can set restrictions to an app.
// The format for settings in Bundle differs from app to app.
manager.setApplicationRestrictions
(BasicDeviceAdminReceiver.getComponentName(activity),
PACKAGE_NAME_CHROME, settings);
Toast.makeText(activity, R.string.restrictions_set,
Toast.LENGTH_SHORT).show();
}
})
.show();
}