在Android开发中经常遇到客户要求把默认浏览器换成客户想要的,此时我们可以在代码中重新设置一下客户要求的URL。
代码路径为:(不同平台路径可能有差异)vendor\mstar\common\apps\MBrowser3\src\com\android\browser\BrowserSettings.java。
private Runnable mSetup = new Runnable() {
@Override
public void run() {
DisplayMetrics metrics = mContext.getResources().getDisplayMetrics();
mFontSizeMult = metrics.scaledDensity / metrics.density;
// the cost of one cached page is ~3M (measured using nytimes.com). For
// low end devices, we only cache one page. For high end devices, we try
// to cache more pages, currently choose 5.
//Log.v("BrowserSetting","staticGetMemoryClass: " + ActivityManager.staticGetMemoryClass());
// due to Memory limitation ,Decrease Page cache Capacity prevent from OOM
if (ActivityManager.staticGetMemoryClass() > 64) {
mPageCacheCapacity = 5;
}
mWebStorageSizeManager = new WebStorageSizeManager(mContext,
new WebStorageSizeManager.StatFsDiskInfo(getAppCachePath()),
new WebStorageSizeManager.WebKitAppCacheInfo(getAppCachePath()));
// Workaround b/5254577
mPrefs.registerOnSharedPreferenceChangeListener(BrowserSettings.this);
if (Build.VERSION.CODENAME.equals("REL")) {
// This is a release build, always startup with debug disabled
setDebugEnabled(false);
}
if (mPrefs.contains(PREF_TEXT_SIZE)) {
/*
* Update from TextSize enum to zoom percent
* SMALLEST is 50%
* SMALLER is 75%
* NORMAL is 100%
* LARGER is 150%
* LARGEST is 200%
*/
switch (getTextSize()) {
case SMALLEST:
setTextZoom(50);
break;
case SMALLER:
setTextZoom(75);
break;
case LARGER:
setTextZoom(150);
break;
case LARGEST:
setTextZoom(200);
break;
}
mPrefs.edit().remove(PREF_TEXT_SIZE).apply();
}
//modify by pig
if(SystemProperties.get("customer.prdID").equals("IST_0301")){
sFactoryResetUrl = "https://www.onescreensolutions.com/";
}else{
sFactoryResetUrl = mContext.getResources().getString(R.string.homepage_base);
}
//end pig
if (sFactoryResetUrl.indexOf("{CID}") != -1) {
sFactoryResetUrl = sFactoryResetUrl.replace("{CID}",
BrowserProvider.getClientId(mContext.getContentResolver()));
}
synchronized (BrowserSettings.class) {
sInitialized = true;
BrowserSettings.class.notifyAll();
}
}
};
sFactoryResetUrl 为设置浏览器网址变量,默认使用的是系统默认网址,通过获取homepage_base来设置。
其实也可以在framework下设置default.xml,设置homepage_base即可,具体可根据实际情况修改。