Initialize app
Here, we set up the app with some basic functions.
onCreate()
— links the XML layout to the activities, sets the enabled state of the buttons, and declares and initializesonClickListeners
to call the respective buttons:toggleAdminBtn
activateLicenseBtn
deactivateLicenseBtn
activateBackwardsCompatibleKeyBtn
toggleDefaultKioskBtn
toggleCustomKioskBtn
Some of the methods that do not resolve are created later in the tutorial.
public class MainActivity extends AppCompatActivity {
private final String TAG = "MainActivity";
static final int DEVICE_ADMIN_ADD_RESULT_ENABLE = 1;
private DevicePolicyManager mDevicePolicyManager;
private ComponentName mDeviceAdmin;
private Utils mUtils;
private Button mToggleAdminBtn;
private Button mToggleDefaultKioskBtn;
private Button mToggleCustomKioskBtn;
private SampleKioskReceiver mSampleKioskReceiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
//...called when the activity is starting. This is where most initialization should go.
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView logView = findViewById(R.id.logview_id);
logView.setMovementMethod(new ScrollingMovementMethod());
mUtils = new Utils(logView, TAG);
mDevicePolicyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
mDeviceAdmin = new ComponentName(MainActivity.this, SampleAdminReceiver.class);
mToggleAdminBtn = findViewById(R.id.toggleAdminBtn);
mToggleAdminBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
toggleAdmin();
}
});
Button activateLicenseBtn = findViewById(R.id.activateLicenseBtn);
activateLicenseBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
activateLicense();
}
});
Button deactivateLicenseBtn = findViewById(R.id.deactivateLicenseBtn);
deactivateLicenseBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
deactivateLicense();
}
});
Button activateBackwardsCompatibleKeyBtn = findViewById(R.id.activateBackwardsCompatibleKeyBtn);
activateBackwardsCompatibleKeyBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
activateBackwardsCompatibleKey();
}
});
// Backwards Compatibility button is only visible if the device is
// between Knox version 2.5 and 2.7.1 / Knox API 17 to 21
if (EnterpriseDeviceManager.getAPILevel() < EnterpriseDeviceManager.KNOX_VERSION_CODES.KNOX_2_8 &&
EnterpriseDeviceManager.getAPILevel() >= EnterpriseDeviceManager.KNOX_VERSION_CODES.KNOX_2_5) {
activateBackwardsCompatibleKeyBtn.setVisibility(View.VISIBLE);
}
mToggleDefaultKioskBtn = findViewById(R.id.toggleDefaultKioskBtn);
mToggleDefaultKioskBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
toggleKiosk();
}
});
mToggleCustomKioskBtn = findViewById(R.id.toggleCustomKioskBtn);
mToggleCustomKioskBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
promptCustomKioskSetting();
}
});
mSampleKioskReceiver = new SampleKioskReceiver();
mSampleKioskReceiver.setMainActivityHandler(this);
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(KioskMode.ACTION_ENABLE_KIOSK_MODE_RESULT);
intentFilter.addAction(KioskMode.ACTION_DISABLE_KIOSK_MODE_RESULT);
registerReceiver(mSampleKioskReceiver, intentFilter);
}
Tutorial progress
You’ve completed 2/7 steps!
NextOn this page
Is this page helpful?