我有一个处于Kiosk模式(屏幕固定)的应用程序。该应用程序正在使用USB和蓝牙连接到腹泻设备。每次连接USB时,我都需要授予权限,蓝牙设备需要使用针脚,但是系统对话框会被阻止。
锁码
public static final String [] APP_PACKAGES = {"com.example.app"};
ComponentName componentName = new ComponentName(activity, ApplicationAdmin.class);
assert devicePolicyManager != null;
if(devicePolicyManager.isAdminActive(componentName))
{
Log.d("LockTask", "Is admin");
devicePolicyManager.setLockTaskPackages(componentName, APP_PACKAGES);
if (devicePolicyManager.isLockTaskPermitted(context.getPackageName()))
{
Log.d("LockTask", "start locking");
activity.startLockTask();
}
else
{
Log.d("LockTask", "isLockTaskPermitted is false!!!");
}
}
设备管理员xml
<device-admin xmlns:android="http://schemas.android.com/apk/res/android">
<uses-policies>
<limit-password />
<watch-login />
<reset-password />
<force-lock />
<wipe-data />
</uses-policies>
如果我将“ com.android.systemui”放在APP_PACKAGES中,则它适用于USB,但是用户可以通过长按主屏幕按钮退出应用程序。
对于蓝牙,上述解决方案不起作用。
有没有一种方法可以仅将蓝牙/ usb软件包限制在系统对话框中?
谢谢!