当设备被提供给某些用户时,我有一个需要在Kiosk模式(Activity.startLockTask
)中运行的应用程序(只有管理员可以使用密码解锁信息亭模式)。不幸的是,在此模式下,状态栏被隐藏。但是,有时间,网络状态(知道某些远程操作是否可以完成)和电池状态对用户来说很重要。
在Kiosk模式下,有没有办法显示状态栏(或只包含所需信息的自定义栏)?我是否需要自己绘制时间,网络和电池指示器?
答案 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等在状态栏中显示所需的内容。