2015-09-25 88 views
8

我开发应用锁屏,我想禁用home键,如何禁用在屏幕固定中生成的Toast消息?

我的应用程序 - 设备所有者和设备管理员

现在我usnig固定屏幕为禁用的主页按钮。

,但如果我每次都开始活动,我得到消息“屏幕寄托”和关闭“屏幕取消固定”,如果点击然后回家,

“被取消固定不组织允许”我想删除所有的敬酒信息。

请建议我的解决方案,或者如果你有任何其他更好的解决方案禁用首页按钮,那么请帮助我..!

+0

你的问题解决了吗?怎么样? – azhar

+0

没有选择,我只是在寻找它。它可以创建应用程序,如启动器或生根器。 –

回答

1

似乎没有覆盖或“白名单”或政策,甚至允许设备所有者覆盖此消息。

下面是显示敬酒的代码:http://androidxref.com/6.0.1_r10/xref/frameworks/base/services/core/java/com/android/server/am/LockTaskNotify.java#74

下面是显示锁定任务时调用show方法的代码:http://androidxref.com/6.0.1_r10/xref/frameworks/base/services/core/java/com/android/server/am/ActivityStackSupervisor.java#3919

根据我的发现,在这里没有任何标志或资源可以被覆盖。如果您有权访问源代码,则需要注释调用show的行。

+0

也许我们永远不会允许应用回到第一次锁定的活动?在'onResume'中强制进行第二项活动? http://androidxref.com/6.0.1_r10/xref/frameworks/base/services/core/java/com/android/server/am/ActivityStackSupervisor.java#3912 – Magillus

2

假设你使用的亚行列出您的应用程序作为设备所有者,您可以使用类似的命令提示符下禁用所有敬酒的消息:其中

adb shell appops set android TOAST_WINDOW deny 

对于这个命令来工作,到该目录的adb.exe驻留(除非将其添加到PATH中)。这将禁用所有Toast消息到连接的Android设备(虚拟或不)。如果有多个设备,则会选择第一个设备。

+0

这并没有回答这个问题,Sangha_development只是想要禁用一些吐司,不是全部。 –

+0

我想这就是为什么我的回答没有被接受。尽管如此,它可以用作解决方法。如果您想向用户显示其他消息,则可以使用几秒钟后自动关闭的自定义对话框来模仿类似吐司的行为。这并不困难...... – Jenever