我有一個應用程序,我試圖「進入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);
但這只是簡單地調用我的默認應用程序,而不會彈出選擇器屏幕。
謝謝傑克!第一個鏈接正是我所需要的,它提供了一個非常乾淨的解決方法來重置默認的啓動器應用程序。 – Wakka02