電信入庫有多個瀏覽器,在初始使用時默認選擇一個不彈出給用戶選擇的方法

在電信入庫測試時要求:用戶打開任何網址連接時,不容許彈出瀏覽器選擇或者確認界面,請終端廠商設置主瀏覽器爲默認瀏覽器,再也不容許用戶選擇或者確認。 android

若是在系統中默認集成有多個瀏覽器時,android上的作法是在用戶打開網址連接時彈出個選擇框給用戶選擇使用哪一個瀏覽器打開該網址連接。但這樣就不符合電信的要求,有什麼好的修改辦法呢? 瀏覽器

這邊提供一種可行的修改策略,就是仿照那程序選擇的界面上的「默認使用改程序」選項實現的方法。在用戶選中該選項後選擇程序後,系統會調用到PackagesManagerService中的addPreferredActivity方法,在該方法中會把當前選擇程序的intent-filter加到preferred_activit list中,而且最後保存到packages.xml中。packages.xml配置文件的內容會在系統啓動加載PackagesManagerService服務時讀取並加載到內存中。 測試

如今添加默認優選的方法就是:把要優選的intentfilter內容(仿照packages.xml中寫)先保存到一個xml文件中,系統編譯時把這個文件編譯到手機上的system/etc目錄下(這樣保證不會在恢復出廠設置時被刪除);而後在PackagesManagerService類的內部類setting的readLP方法中添加代碼,判斷若是packages.xml文件不存在時,就加載咱們保存在系統system/etc下的默認優選配置,把咱們想要的默認配置加載到系統內存的preferred_activit list中,這樣就完成了,這時再打開網址連接時打開的就是咱們默認的程序了,不會再彈出選擇給用戶。 xml

相關文章
相關標籤/搜索