Android 如何在kiosk模式下从其他应用程序启动新活动?

Android 如何在kiosk模式下从其他应用程序启动新活动?,android,android-intent,kiosk-mode,Android,Android Intent,Kiosk Mode,我有两个应用程序都启用了kiosk模式。我目前正在从一个向另一个发送广播,以传输数据。我想告诉接收应用程序启动新活动 在大多数情况下,我可以使用intent.addFlags(intent.FLAG\u ACTIVITY\u NEW\u TASK);然而。。。在信息亭模式下,我无法启动新任务 下面是我在broadcastReceiver中的内容(我已经验证了它对其他数据有效)。此代码尝试启动新活动: Intent launchIntent = new Intent(Int

我有两个应用程序都启用了kiosk模式。我目前正在从一个向另一个发送广播,以传输数据。我想告诉接收应用程序启动新活动

在大多数情况下,我可以使用intent.addFlags(intent.FLAG\u ACTIVITY\u NEW\u TASK);然而。。。在信息亭模式下,我无法启动新任务

下面是我在broadcastReceiver中的内容(我已经验证了它对其他数据有效)。此代码尝试启动新活动:

            Intent launchIntent = new Intent(Intent.ACTION_MAIN);
            launchIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // this doesn't work in kiosk mode...
            launchIntent.setComponent(new ComponentName("my.package","my.package.myactivity"));
            try {
                if(launchIntent != null) {
                    context.getApplicationContext().startActivity(launchIntent);
                    Log.i(TAG, "Started activity");
                } else
                    Log.i(TAG, "Intent is null");
            } catch (Exception e) {
                Log.e(TAG, e.toString());
            }
添加标志之前的错误:

Kiosk Mode: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
E/ActivityManager(  470): Attempted Lock Task Mode violation
加上旗帜后:

Kiosk Mode: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
E/ActivityManager(  470): Attempted Lock Task Mode violation
是否可以通过广播接收器发送上下文,以便我可以使用该上下文启动所需的活动?除了使用广播来启动新活动之外,有人能推荐其他方法吗?

注意:在Android中,“屏幕固定”、“Kioskmode”和“锁定任务模式”是相同的

您必须使用stopLockTask()交互临时禁用kioskmode,并使用startLockTask()重新启用它

为了防止android要求用户重新启动kioskmode,您还需要实现一个应用程序

你可以在网站上找到很多关于这个主题的信息