我正在使用 startLockTask(); 我的应用程序中的方法锁定了我当前的任务/活动。我的应用程序也是设备所有者,并使用以下代码将我的应用程序包列入锁定任务模式,然后再调用 startLockTask();
try
{
String PLAYER_PACKAGE = this.getPackageName();
String[] APP_PACKAGES = {PLAYER_PACKAGE};
DevicePolicyManager dpm = (DevicePolicyManager) this.getSystemService(Context.DEVICE_POLICY_SERVICE);
ComponentName mDeviceAdmin = new ComponentName(this, DeviceAdminSampleReceiver.class);
if(!dpm.isDeviceOwnerApp(this.getPackageName())){
return;
}
// Whitelist app package for LockTask mode
dpm.setLockTaskPackages(mDeviceAdmin, APP_PACKAGES);
// First, confirm that this package is whitelisted to run in lock task mode.
if (dpm.isLockTaskPermitted(this.getPackageName())) {
this.startLockTask();
// Enable the Home and Overview buttons so that our custom launcher can respond
// using our custom activities. Implicitly disables all other features.
dpm.setLockTaskFeatures(mDeviceAdmin,
DevicePolicyManager.LOCK_TASK_FEATURE_HOME |
DevicePolicyManager.LOCK_TASK_FEATURE_KEYGUARD |
DevicePolicyManager.LOCK_TASK_FEATURE_OVERVIEW);
}
}catch (Exception e){}
问题是有时我的应用程序不是设备所有者导致我无法运行:
dpm.setLockTaskPackages(mDeviceAdmin, APP_PACKAGES);
所以,我想知道是否有一种等效的方法可以使用一些 ADB 命令来实现与“dpm.setLockTaskPackages”相同的行为。
谢谢。