2011-02-05 73 views
0

我試圖隱藏管理員密碼窗口(以訪問系統設置),以便我的公共訪問應用程序的用戶甚至不知道如何訪問密碼對話框。 我想通過長按將其隱藏在其中一個按鈕下面,但它似乎onLongClick(大約500ms)仍然有點太短。有沒有辦法讓它變長?或者,你們是否有更好的主意,如何管理自助終端應用程序對系統設置(即WiFi和東西)的訪問權限。Android:onLongClick - >更長的時間?

非常感謝,我已經到目前爲止死了。 謝謝!

_我知道其中的一個選項是將應用程序置於鎖定屏幕上(使用FLAG_SHOW_WHEN_LOCKED),並創建一個對話框來終止我的活動,這將顯示鎖屏,使用漂亮的字母數字引腳將其解鎖並訪問設置。但我不太喜歡它的想法,因爲(再次)我的應用程序是供公衆使用的_

+1

爲什麼你需要徹底隱藏它?隱藏它不會增加安全性。如果你只是想讓它突然停下來,它會長時間按下搜索按鈕或其他東西,因爲如果不修改設備,就無法更改此值。 – fredley 2011-02-05 18:39:10

回答

0

有沒有辦法讓它更長?

不,對不起。

或者你們有更好的主意,如何管理從一個信息亭應用程序訪問系統設置(即WiFi和東西)。

使用adb shell am啓動系統設置應用程序,將設備連接到安裝了Android SDK的計算機上。

+0

嘿,謝謝你試圖幫助。我的GF出來了一個最獨創的想法。由於該應用程序具有web瀏覽器,因此我們設置了一種方法,將當前網頁的URL與期望的URL進行比較,從而導致啓動系統設置。 這意味着管理員會到達合適的網頁,輸入用戶名和密碼並將其重定向到觸發系統設置的URL。很聰明呃? :) – Matt 2011-02-06 22:04:29

0

你知道,我在想同樣的事情......但後來我遇到了setOnTouchListener()......你可以在你的按鈕或小部件上設置它,當事件狀態action = 1時,它可以啓動一個計時器,無論你想要它多長時間。當它達到那個時候它會做一些事情。

如果您足夠有創意,您可以創建一個班級來觀察新聞是否已經超過特定的時間間隔,如果在此期間更改了動作,則可以啓動您的方法。

希望這個想法可以幫助你。

1

我看到這是一年前被問了..但沒有接受的答案如此嘿!您可以使用onTouchListener而不是使用onLongclicklistener。讓它在等待用戶停止按下按鈕後再啓動另一個操作。

view.setOnTouchListener(new OnTouchListener() { 
     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      switch(event.getAction()) { 
      case MotionEvent.ACTION_DOWN: 
       // Start 
       break; 
      case MotionEvent.ACTION_UP: 
       // End 
       break; 
      } 
      return false; 
     } 
    }); 

或者,也許你甚至可以只是有這麼一個每次點擊按鈕將啓動一個定時器當時的活動。 我幾個月前做過類似的事情start activity when certain time is reached。這些只是一些想法,希望我幫你想出一個解決方案。