首页 > 解决方案 > 在 Android Kiosk 模式下显示 USB/BLUETOH 权限对话框

问题描述

我有一个处于 Kiosk 模式(屏幕固定)的应用程序。该应用程序使用 USB 和蓝牙连接到外围设备。每次我连接 USB 时,我都需要授予权限,蓝牙设备需要 pin,但系统对话框被阻止。

锁码

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 包只是为了访问系统对话框?

谢谢!

标签: androidkiosk-mode

解决方案


推荐阅读