Android 如何在kiosk模式下从其他应用程序启动新活动?
我有两个应用程序都启用了kiosk模式。我目前正在从一个向另一个发送广播,以传输数据。我想告诉接收应用程序启动新活动 在大多数情况下,我可以使用intent.addFlags(intent.FLAG\u ACTIVITY\u NEW\u TASK);然而。。。在信息亭模式下,我无法启动新任务 下面是我在broadcastReceiver中的内容(我已经验证了它对其他数据有效)。此代码尝试启动新活动: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
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,您还需要实现一个应用程序
你可以在网站上找到很多关于这个主题的信息