在自助服务终端模式下显示时间,网络和电池状态

时间:2016-09-19 15:02:51

标签: android kiosk-mode

当设备被提供给某些用户时,我有一个需要在Kiosk模式(Activity.startLockTask)中运行的应用程序(只有管理员可以使用密码解锁信息亭模式)。不幸的是,在此模式下,状态栏被隐藏。但是,有时间,网络状态(知道某些远程操作是否可以完成)和电池状态对用户来说很重要。

在Kiosk模式下,有没有办法显示状态栏(或只包含所需信息的自定义栏)?我是否需要自己绘制时间,网络和电池指示器?

2 个答案:

答案 0 :(得分:0)

我从未测试过,但是当处于自助服务终端模式(Android 5屏幕固定?)时,您可以尝试通过WindowManager API或var AWS = require("aws-sdk"); var DOC = require("dynamodb-doc"); AWS.config.update({region: "eu-west-1"}); var dynamodb = new DOC.DynamoDB(); exports.handler = function(event, context) { console.log('Received event:', JSON.stringify(event, null, 2)); var tableName = "MarketOrder"; if (event.http_method == 'POST') { var datetime = new Date().getTime().toString(); dynamodb.putItem({ "TableName": tableName, "Item" : { "username" : event.username, "createDateTime" : datetime, "orderType": event.orderType, "numberOfShares": event.numberOfShares, "price": event.price, "validToDate": event.validToDate } }, function(err, data) { if (err) { console.log("dynamodb error: " + err); context.done('Error putting order into dynamodb: ' +err); } else { console.log('great success: '+JSON.stringify(data, null, ' ')); context.succeed('Sucessfully saved market order'); } }); } .... } else { context.fail('Invalid operation specified:' + event.http_method); } }; 重新启用状态栏,请在此处阅读:https://developer.android.com/training/system-ui/status.html

已添加:状态栏调暗似乎更适合您的目的,因为它可能会禁用状态栏但仍然可见:https://developer.android.com/training/system-ui/dim.html

答案 1 :(得分:0)

您无法在Android Lock任务模式下的Android 8以及之前的设备上启用状态栏。在Android 9及更高版本中,可通过LOCK_TASK_FEATURES使用此功能,并且您可以在其上启用状态栏按钮。

https://developer.android.com/reference/android/app/admin/DevicePolicyManager#LOCK_TASK_FEATURE_HOME

如果您的设备低于android 9,那么您可以在自己的Kiosk模式应用中构建自己的自定义状态栏。在这种情况下,您可以使用wifi管理器或AlarmManager等在状态栏中显示所需的内容。