android啟動時自動化佈建預設瀏覽器

來源:互聯網
上載者:User

android啟動時自動化佈建預設瀏覽器

參考:http://blog.csdn.net/pediyasm/article/details/7987389
1.設定預設應用的原理
當設定了預設應用後,本文以UC瀏覽器為例子,在手機/data/system/packages.xml中就會新增如下資訊:

  1. <preferred-activities>
  2. <item name="com.UCMobile/.main.UCMobile" match="200000" set="2">
  3. <set name="com.UCMobile/.main.UCMobile" />
  4. <set name="com.android.browser/.BrowserActivity" />
  5. <filter>
  6. <action name="android.intent.action.VIEW" />
  7. <cat name="android.intent.category.DEFAULT" />
  8. <scheme name="http" />
  9. </filter>
  10. </item>
  11. </preferred-activities>


2.實現方法。有兩種方法可以實現:一種是在Provision.apk中實現,一種是在PackageManagerService.java中實現。具體代碼如下:

  1. private void addPreferredActivityForULauncher() {
  2. IntentFilter filter = new IntentFilter();
  3. filter.addAction("android.intent.action.VIEW");
  4. filter.addCategory("android.intent.category.DEFAULT");
  5. filter.addDataScheme("http");

  6. ComponentName preActivity = new ComponentName("com.UCMobile", "com.UCMobile.main.UCMobile");
  7. ComponentName[] set = new ComponentName[] {preActivity,new ComponentName("com.android.browser", "com.android.browser.BrowserActivity")};
  8. mSettings.mPreferredActivities.addFilter(
  9. new PreferredActivity(filter, 0x200000, set, preActivity));
  10. mSettings.writeLPr();
  11. }

  1. if(isFirstBoot()){
  2. addPreferredActivityForULauncher();
  3. }
3.通過mm命令產生services.jar,並push到手機/system/framework下。同時將uc瀏覽器預裝進系統。恢復出廠預設值即可生效。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.