我敢肯定这会被问过。但是我还找不到。
我最近在Sony Xperia Z手机中更新为Lollipop。通知栏和下拉设置很棒。
但是在锁定屏幕上,我不想打开/关闭任何WiFi,蓝牙或任何设置。不应在锁定屏幕上简单地下拉设置。我怎样才能做到这一点?有什么选择吗?
我已经有图案锁了。
我敢肯定这会被问过。但是我还找不到。
我最近在Sony Xperia Z手机中更新为Lollipop。通知栏和下拉设置很棒。
但是在锁定屏幕上,我不想打开/关闭任何WiFi,蓝牙或任何设置。不应在锁定屏幕上简单地下拉设置。我怎样才能做到这一点?有什么选择吗?
我已经有图案锁了。
Answers:
我使用的是CyanogenOS 12(源自CM12),因此以下解决方案可能不适用于普通棒棒糖,但是不管怎么说,这是一个非常有用的解决方案。
您可以在快速设置切换的瓦片被指派特定的名称,如蓝牙→ bt
,无线网络连接- > wifi
,横向/纵向→ rotation
,和许多其他人,这些名字存储为键的值sysui_qs_tiles
在桌子下面secure
的settings.db
(设置存储)。
虽然可以从“设置” UI中删除/重新排列这些磁贴,但也可以考虑使用命令行完成任务。
相关命令为settings
,其用法为:
usage: settings [--user NUM] get namespace key
settings [--user NUM] put namespace key value
settings [--user NUM] delete namespace key
'namespace' is one of {system, secure, global}, case-insensitive
If '--user NUM' is not given, the operations are performed on the owner user.
在继续进行任何操作之前,您需要在计算机中设置ADB。或者,如果设备已植根,则可以使用终端应用程序,例如 Android的Terminal Emulator。
注意:如果设备在授予访问权限之前不支持对客户端进行身份验证,则处于无线模式的ADB 可能会很危险。继续需要您自担风险!
我们首先必须找出存储在key中的值sysui_qs_tiles
,然后在终端中输入以下命令:
adb shell settings get secure sysui_qs_tiles
对于使用终端应用程序生根的设备:
su
settings get secure sysui_qs_tiles
输出如下:
wifi,bt,cell,rotation,flashlight,hotspot,location,airplane
现在,如果我想从“快速设置”中删除“ 飞行模式 ”或希望在“ 热点 ”之后显示“ Wi-Fi”图块,则相应命令的顺序为:
adb shell settings put secure sysui_qs_tiles wifi,bt,cell,rotation,flashlight,hotspot,location
adb shell settings put secure sysui_qs_tiles bt,cell,rotation,flashlight,hotspot,wifi,location
对于使用终端应用程序生根的设备:
su
settings put secure sysui_qs_tiles wifi,bt,cell,rotation,flashlight,hotspot,location
settings put secure sysui_qs_tiles bt,cell,rotation,flashlight,hotspot,wifi,location
现在,回到要求,即“ 在锁定屏幕上隐藏快速设置 ”。您可以使用Tasker等自动化工具在屏幕锁定时从“快速设置”中删除磁贴,并在屏幕解锁时将其重新添加。
在继续使用Tasker之前,我应该提到settings
命令只能在非root用户的设备上与ADB一起使用,因为所需的特权比授予普通用户的特权更高,因此,对于Tasker中的自动化,设备必须具有ADB以无线模式运行。为此,请参见:
添加一个操作作为Code→Run Shell,并添加以下详细信息:
命令:adb connect localhost:<PORT>; adb shell settings put secure sysui_qs_tiles wifi,bt,cell,rotation,flashlight,hotspot,location
对于有根设备,详细信息为:
settings put secure sysui_qs_tiles wifi,bt,cell,rotation,flashlight,hotspot,location
对于重要的情况:
<PORT>
作为亚行的无线运行一样的端口号5555
wifi,bt,cell,rotation,flashlight,hotspot,location
快速设置” 中使用所需或不需要的图块名称代替创建另一个名为“ Tiles s-locked”的任务。
注意:如果您配置了一些设置,以使设备在进入睡眠状态后不立即锁定屏幕,而是在XY秒(如30
秒)之后锁定,那么请创建一个动作,如Task→Wait并设置这些XY Seconds。或者,sleep XY
可以在Command下的下一步中使用。阿里埃勒提出了这个主意。
添加另一个动作作为Code→Run Shell,并添加以下详细信息:
命令:adb connect localhost:<PORT>; adb shell settings put secure sysui_qs_tiles ' '
对于有根设备,详细信息为:
settings put secure sysui_qs_tiles ' '
Highest
优先级”,然后链接任务“ Tiles s-unlocked”。Highest
优先级”,然后链接任务“ Tiles s-locked”。有塔斯克启用,并通过锁定/看哪所需的操作解锁屏幕。
(点击图片放大)
图像顺序为“屏幕锁定时无图块”→“屏幕解锁时的图块”
(点击图片放大)
让我知道我的解决方案是否在运行Stock Lollipop的设备中工作。
settings put secure qs_show_brightness_slider 0
将删除亮度滑块。将0更改为1,它将返回。不幸的是,当我使用Tasker运行该命令时,设备的行为异常。如果仅通过ADB或终端而不是通过Tasker手动尝试,就会产生效果!如果它适合您,请告诉我。
无法在锁定屏幕上禁用快速设置。
但是,可以通过在手机上刷新自定义ROM来实现。我知道您可以在CyanogenMod中重新排列/删除图块。
注意:通过刷新自定义ROM,您的数据将被擦除,并且保修无效。
编辑:在XDA-Developers上,我发现了这一点:
可以编辑“快速设置”菜单-解锁手机后,打开快速设置面板并点击并按住其任何图标,将可以删除或添加一些功能。只需删除飞行模式和移动数据即可。这样,当手机被锁定时,任何人都无法禁用其连接。缺点是,即使手机已解锁,也无法轻松切换飞行模式。
资料来源:http : //forum.xda-developers.com/showpost.php?p=60243490&postcount=13