2017-02-13 87 views
5

我有一個客戶項目,我必須使單個任務的Android設備。客戶無法逃脫我公司開發的應用程序。此外,客戶無法啓動任何其他應用程序,我們的應用程序在設備啓動時啓動。總體而言,所有客戶都可以使用該設備運行我們的應用程序。Android:如何讓設備只運行一個應用程序?

是否有任何其他方法,使這項工作比生根設備,禁用所有系統的按鈕,使我們的應用程序啓動器。我有類似400個設備用於此目的,因此所有這些都需要花費很多時間。

我也看了谷歌的有關COSU設備教程,但發現它非常confucing https://developer.android.com/work/cosu.html#testing-plan

機器人會自己固定屏幕是不夠的,因爲客戶可以逃脫的應用程序。有些人可能會建議使用SureLock之類的自助終端應用程序,但我公司的目標是在不使用任何第三方應用程序的情況下爲此找到明確的解決方案。通過一些信息亭應用程序運行我們的應用程序不是我們的目標。

我發現對堆棧溢出類似的問題,一些帖子,但不是我要找的答案。

如果有人對這個問題的一些建議,我將非常感激。

+0

您想開發Kiosk應用嗎?嗯有趣 –

回答

0

通過在清單文件中定義將您的應用程序作爲啓動程序應用程序。

之後去到您的移動設備和更改默認啓動應用程序的設置您的應用程序。

1

我以前遇到同樣的問題。我花了至少3天的時間進行研究。我試圖找到許多解決方案,但我發現零。建立在Android之上

How I solve is 

    1. Up To JellyBean 
    - Use System Alert Dialog (And make it transparent and small size like 2 * 2 And display in some corner(User can't see it)). User can't press home button If there is system Alert dialog 

    2. After JellyBean, This method doesn't work. The user can press the home button even though there is System Alert Dialog. 
    so what I did is, start the service on stop and start the same activity again and again(within sec). So user can't see any difference.Don't forget to make activity as single task so that even though you start same activity from service, again and again, new activity will not create (So Ugly way) 

    - You can simple make screen full screen. make sure in kiosk mode try to check if the screen is in full-screen mode. if not make it full-screen mode(its not hard to do) 

    - other way is to make launcher app but when ever you pressed home button it always asked to choose launcher app. if user mistakenly choose default/ other launcher app, this solution doesnt work 

    Good luck 
+0

解決方案1很有創意,但我不會建議濫用系統警報對話框來實現信息亭模式。我見過第二種解決方案,但它不是一個好的解決方案。您的應用或服務可能隨時崩潰或被Android殺死,讓用戶隨意使用設備執行任何操作。如果您仍然在尋找適合Kiosk模式的優秀解決方案,請查看我的答案以獲取一些替代方案:http://stackoverflow.com/a/43644803/2888763 –

2

單一用途的設備可以得到難以實施。有幾種不同的選擇,但每個都有折衷。

正如您所提到的,生根設備將在功能上爲您提供所需的功能 - 但是,數百個設備需要耗費時間才能生根,難以維護,並且您(可能)會將安全問題帶入設備和應用程序。

另一種選擇是使用谷歌的鎖定任務模式 COSU設備[1]。鏈接處有一個漂亮的圖形顯示的鎖定任務模式的特點:

  • 1應用程序固定到主屏幕
  • 只有應用程式白名單由DPC(設備策略控制器)可以鎖定
  • 家庭和最近的按鈕調用stopLockTask()

隱藏

  • 退出也有一些缺點,使用谷歌的這一解決方案。首先Google建議創建(併爲此維護)一個完全獨立的DPC應用程序,以作爲設備所有者運行並設置策略[2]。您還將依賴Google Play來管理應用更新,並被要求擁有與每個設備相關聯的Play帳戶,這些帳戶「用於標識與單個用戶無關的單個設備,以實現簡化的,按設備的應用分配規則在COSU風格的場景中「[3]。要在設備上自動獲取DPC應用,您的「DPC必須在Google Play上公開發布,並且最終用戶可以通過輸入DPC特定標識符從設備設置嚮導安裝DPC」。[3]您還需要將用戶應用程序上傳到Google Play [4],這對於某些不希望在Play上應用程序的用戶可能會遇到問題。走這條路線可以爲您提供所需的功能,但可能會很複雜,並且還會使您和您的客戶與Google/Play服務及其工作流程緊密聯繫。

    你也可以看看像梅森[5]這樣的企業移動部署平臺。就您而言,您可以在幾分鐘內創建自定義Android操作系統,並將應用鎖定在自助服務終端模式(+其他功能,如禁用相機/短信,移除應用和隱藏設置等),然後將其部署到所有設備遠程。如果您的需求發生變化,梅森還支持由您控制的操作系統和應用更新。

    如果這聽起來很實用,可隨時與我聯繫:trevor @ bymason.com

    聲明:我梅森工作

  • 相關問題