2013-07-09 73 views
3

我有一個應用程序,我試圖「進入Kiosk模式」,但我只希望它只發生在一個活動上。在修改了一些控件後,我想出了Intent.createChooser()Android中設置和取消默認應用程序

我想要做的是一旦活動的onCreate()被調用,觸發Intent.createChooser()提示用戶將其設置爲默認的Home應用程序;這樣,我「禁用」主頁按鈕,因爲我已將程序啓動活動編程爲直接返回到此場景中的Kiosk活動。

一旦Kiosk Activity通過密碼退出到先前的狀態,我想再次調用createChooser(),以便用戶可以「取消」我的應用程序作爲默認的Home應用程序,他現在可以繼續使用Home按鈕正常。

問題是,當我撥打createChooser()時,「設爲默認應用」複選框未出現。我如何讓它出現?

這是我叫createChooser()代碼:

Intent intent = new Intent(Intent.ACTION_MAIN); 
intent.addCategory(Intent.CATEGORY_HOME); 
intent.addCategory(Intent.CATEGORY_DEFAULT); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

startActivity(Intent.createChooser(intent, "Set as default to enable Kiosk Mode")); 

我看到帖子說我應該使用startActivityForResult(),我曾嘗試更換我startActivity()有以下幾點:

startActivityForResult(intent, 1); 

但這只是簡單地調用我的默認應用程序,而不會彈出選擇器屏幕。

回答

相關問題