2015-09-25 32 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