2011-11-22 83 views
13

我正在製作一個應用程序,該應用程序應該在顯示產品信息的商店中使用。我使用Android平板電腦爲客戶提供一些互動信息。用戶應該無法對平板電腦執行其他任何操作。忽略或禁用設置菜單

到目前爲止,我設法禁用了後退和主頁按鈕。應用程序在設備啓動完成時開始。因此,他在重新啓動設備時無法啓動任何其他應用程序(我無法阻止用戶重新啓動設備)。

問題是,客戶可以打開設置菜單並強制殺死我的應用程序。

有沒有辦法禁用設置菜單(例如通過使用密碼保護它)還是通過我的應用程序覆蓋它?

我不打算將我的應用程序添加到Android市場,因爲它只能在商店中運行。

+0

第三方應用程序是否有效?然後嘗試應用程序鎖 – Eswar

回答

24

我找到了如何覆蓋設置菜單。

由於設置菜單,通過一個隱含的意圖我只需要添加合適的意向過濾器打開我的活動:

<intent-filter > 
    <action android:name="android.settings.SETTINGS" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
</intent-filter> 
<intent-filter > 
    <action android:name="android.settings.WIRELESS_SETTINGS" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
</intent-filter> 

這將讓用戶選擇他要打開設置應用程序。如果我現在將我的活動設置爲默認,則用戶無法通過狀態欄訪問設置菜單。

+0

在我的聯想YT3-850F,Lollipop 5.1.1上工作得很好。 – Storo

+0

其。只是。真棒。 –

+0

@ js-我正在嘗試爲我的設備創建一個自定義啓動器,並且想要刪除更改啓動器的能力,但管理員除外。有沒有一種方法可以從設置應用程序中以編程方式刪除HOME設置?或刪除一起訪問設置應用程序的能力?我不希望用戶能夠切換回默認的Android啓動器。 –

0

我很確定你不能一起禁用設置菜單。

你可以做的是看看像刪除狀態欄(底部的那個)。

看看這樣的東西:TabletBar Hider。我沒有對它進行測試,而且還需要您找到一種讓您的應用程序運行此方法或將其實施到您的應用程序中的方法。如果狀態欄在您的應用啓動後立即隱藏 - 我看不到如何進入設置菜單。

你可以看看this獲取全屏(但我不知道你是否已經嘗試過/已經考慮過了)。

+0

不能選擇啓動設備。我知道如何通過殺死systemUi來手動禁用狀態欄,但是對於日常使用來說,這太複雜了,必須在設備每次啓動後完成。然後我有問題,客戶可以重新啓動我無法壓制的設備。 –

+0

您的第二個用於getiing全屏的鏈接僅適用於Android版本<3.0。由於我使用的Android 3.2平板電腦無法使用。 –