我的经验只适用于Flash,我担心我没有及时更新.我最后一次尝试这个时,我依稀记得有一个Flash的问题,它会慢慢吃掉内存,直到最终操作系统被锁定.那是几年前的事情,也许不是因为Flash.
将Flash或Silverlight用于自助服务终端类型应用程序是否存在问题?
他们将如何建立?在网页中托管Flash/Silverlight应用程序的"kiosk"模式下使用FireFox是否足够好?
编辑:
回答有关申请类型的问题.这个应用程序将具有有限的交互性.它将有一个菜单,用户可以单击菜单查看由文本,图像和视频组成的不同内容.它可能会有过渡动画.我不确定该自助服务终端是否应该是触摸屏类型的自助服务终端.
所以我的问题是:如果可以阻止用户关闭应用程序.
问题是因为我无法隐藏操作栏而我只使用平板电脑进行工作时间注册.所以,如果有人按下主页按钮或后退按钮是不可接受的.
所以我想知道我能否以某种方式处理onclose事件?
是否可以全屏打开应用程序(没有操作栏)?
我已经在SWT中开发了一个Java应用程序,该应用程序应在作为信息亭运行的Windows系统上运行。该应用程序应该是系统中唯一运行的应用程序,并且应该在系统启动后立即打开。应该禁用任务管理器,Windows开始菜单,热键等所有功能(例如,请参见http://www.codeproject.com/Articles/7392/Lock-Windows-Desktop)。该应用程序还具有一个内置的管理员用户,该用户可以再次激活所有事情,从而有可能在系统中进行更改。这些事情已经实现。问题在于,当Windows启动时,它会持续几秒钟,直到应用程序打开为止,在此短时间内,用户会看到所有内容(直到应用程序启动,所有内容都无法禁用)。我已经搜索了互联网,唯一的解决方案似乎是替换注册表中的标准Windows Shell。现在出现了问题:
没有人知道如何编写一个用于Windows外壳是
还是您有其他想法来实现这一目标?
谢谢
我正在尝试构建一个将在Kiosk模式下运行的Android应用程序。来宾将扫描他们的票,然后会自动为他们打印一个带有欢迎消息的姓名标签。
我正在尝试使用Google云端打印来完成此操作。现在,我只是使用官方教程中的示例代码,并且到目前为止,它可以正常工作(例如,我可以打印文档和所有内容),但是我必须遍历两个对话框页面:
1选择有问题的打印机,然后
2选择打印首选项。
有什么办法可以跳过这两个对话框?我希望用户与应用程序的交互尽可能少。
在过去,我使用下面的脚本来检测标题为"远程桌面"的活动窗口是否处于活动状态.如果它不活动,脚本将自动启动或再次激活.
问题:有没有办法检测窗口是否处于活动状态并自动关闭它?我正在办公室的Windows 7机器上以chrome kiosk模式设置一个售货亭.主页面在弹出窗口中启动选定的Google表单.表单确认页面标题为"谢谢!" 在标题栏中.脚本有没有办法自动检测此窗口并关闭它?这将是很好的,因为用户会看到他们的响应已提交(一两秒钟),但如果他们没有关闭窗口,当下一个用户去使用信息亭时它将不会打开.
另一种选择可能是如果有一种方法可以在表单上使用Google脚本来编程提交按钮来关闭窗口.我不确定这是否可行.
Option Explicit
'On Error Resume Next
Dim objShell
Set objShell = CreateObject("WScript.Shell")
Do
If (objShell.AppActivate("Window Title Here") = False) Then
objShell.Run "mstsc.exe " & chr(34) & "c:\scripts\Remote Desktop.rdp" & chr(34)
WScript.Sleep 5000
Else
WScript.Sleep 3000
End If
Loop
Run Code Online (Sandbox Code Playgroud)
如果我需要关闭的窗口处于活动状态,然后运行以下脚本,窗口将关闭.这几乎就像我需要将顶部和底部代码拼凑在一起以实现我所需要的,但我不确定如何.Dim oShell
Set oShell = CreateObject("WScript.Shell")
If oShell.AppActivate("Untitled - Notepad") Then
WScript.Sleep 500
oShell.SendKeys "%{F4}"
End If
Run Code Online (Sandbox Code Playgroud)
我正在尝试找到一个将在启动时运行的脚本,并等待打开具有特定标题的窗口,然后在检测到它后将其关闭.如果我可以控制一旦检测到窗口保持打开多长时间会更好,但如果我可以让它关闭就足够了.
我想我找到了一个很好的解决方案.我找到了这篇文章并修改了答案.有没有人看到这个问题?
' Will loop forever checking for the message every half a second
' When it …
Run Code Online (Sandbox Code Playgroud) 我一直试图从我的Chrome书中制作一个Kiosk模式应用程序.但是,当我进入"管理自助服务终端应用程序"并输入我的应用程序的Chrome商店网址时,我收到"无效的应用程序"错误,但如果我只是从商店安装该应用程序,它安装就好了(虽然它没有不显示扩展页面,但在应用程序菜单中显示.
所以我假设我已经对App manifest做错了.这是我的清单(只是更改了名称和URL,因为它是私有应用程序)
{
"name": "App Name",
"description": "App Description",
"manifest_version": 2,
"version": "1",
"app": {
"urls": [
"http://my.domain.com/"
],
"launch": {
"web_url": "http://my.domain.com/app.html"
}
},
"icons": {
"128": "icon_128.png"
},
"kiosk_enabled": true
}
Run Code Online (Sandbox Code Playgroud)
根据我的理解,我只需要"kiosk_enabled": true
包含在清单中.有谁知道我做错了什么?
我正在尝试按照官方说明打开Kiosk模式以获取非托管镀铬盒,但是当我chrome://extensions
在开发者模式的页面上时,没有添加自助服务终端应用程序选项.
这是否在某些时候被删除,只有托管设备可以使用自助服务终端模式?
编辑 我使用的自助服务终端模式应用程序是一个简单的应用程序,我编写并通过扩展页面上的"解压扩展"框加载.
然后我发布它仅限于测试帐户,并将chromebox上的帐户作为测试人员包含在内,并从Chrome网上商店以这种方式加载.效果是一样的,我仍然没有看到自助服务终端应用程序选项.
Double Edit
我发布了它未列出并安装它.该应用程序安装和工作.我"kiosk_enabled" : true
在我的清单中,我仍然没有看到任何信息亭模式选项.
我正在使用Activity.startLockTask()
并注意到,如果我将屏幕固定在活动 A 中,我将无法转换到活动 B。似乎我必须在活动 B 上一次startLockTask()
又一次stopLockTask()
地转换。startLockTask()
有没有更好的方法来处理这个问题,以便我可以固定整个应用程序,无论我正在进行什么活动?
这就是我固定应用程序的方式:
// start lock task mode if it's not already active
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
// ActivityManager.getLockTaskModeState api is not available in pre-M
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
if (!am.isInLockTaskMode()) {
startLockTask();
}
} else {
if (am.getLockTaskModeState() == ActivityManager.LOCK_TASK_MODE_NONE) {
startLockTask();
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我停止固定的方式
stopLockTask()
Run Code Online (Sandbox Code Playgroud) 我刚开始使用 NFC 创建 KIOSK 应用程序,但遇到了问题。该应用程序在 KIOSK 模式下工作并扫描 NFC 卡。但有时 NFC 会停止工作,我会重新启动设备以保持 NFC 工作,但有时即使重新启动后 NFC 也无法工作。设备操作系统是Android 7。这是Manifest文件:
<activity
android:screenOrientation="portrait"
android:name=".MainActivity"
android:launchMode="singleTask"
android:finishOnTaskLaunch="true"
android:clearTaskOnLaunch="true"
android:stateNotNeeded="true"
android:excludeFromRecents="true"
android:autoRemoveFromRecents="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
这是活动类的代码:
class MainActivity : BaseActivity() {
private val kioskManager by lazy {
KioskManager(
activity = this,
activityName = MainActivity::class.java.name,
componentName = AppDeviceAdminReceiver.getComponentName(this)
)
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
isAdmin = devicePolicyManager.isDeviceOwnerApp(packageName)
if …
Run Code Online (Sandbox Code Playgroud) 我想在一个项目中使用 chromium 浏览器,该项目中只有一个网页全屏显示。用户需要完整的鼠标和键盘支持,所以我打算使用wayland作为桌面环境。
Chromium Kiosk 模式--kiosk
是一个很好的开始(另请参阅此问题),但通过完整的键盘访问,用户仍然可以打开多个选项卡 (Ctrl-T)、设置书签 (Ctrl-D),从而显示书签栏,并且可能还有更多更多我不知道...
问题:如何尽可能地锁定 chromium 浏览器,以便用户无法更改任何内容,并且无法转义预期页面......?
谢谢!
kiosk ×10
kiosk-mode ×5
android ×4
action ×1
chromium ×1
flash ×1
fullscreen ×1
java ×1
nfc ×1
silverlight ×1
vbscript ×1
wayland ×1
windows ×1