Android Web浏览器主页

时间:2012-09-10 13:10:52

标签: android browser sharedpreferences android-contentprovider

我见过几个应用程序和广告网络,比如startapp通过代码更改android web浏览器主页。这怎么可能?

我已经看了一下startapp sdk,但我还没有设法找到他们更改主页的部分。

我还查看了BrowserSettings

中的com.android.browser.BrowserSettings

BrowserSettings中,有一个名为setHomepage(Context, String)的接口。

public void setHomePage(Context context, String url) {
    Editor ed = PreferenceManager.
            getDefaultSharedPreferences(context).edit();
    ed.putString(PREF_HOMEPAGE, url);
    ed.commit();
    homeUrl = url;
}

我不知道很多java / android,所以如果我错了就纠正我:setHomepage()没有声明为静态,因此无法从其他活动中调用它。所以我不能用这个。

我无法看到任何模式应用于共享首选项,因此这意味着它将默认采用私有模式,我无法编辑共享首选项或?

有些人说过可以使用contentProvider / Resolver。

BrowserSettings.java

的链接

任何帮助或想法将不胜感激:)

3 个答案:

答案 0 :(得分:3)

我与Diane HackBorn (Google's Android Engineer) on this one:这不应该是可能的,因为这将是一个平台安全漏洞。

如果碰巧有可能,那就是通过某种黑客攻击(即:具有root访问权限的应用程序可以直接写入浏览器应用程序设置文件中)。

答案 1 :(得分:1)

我看到你提到了startapp。我查看了他们反编译的SDK,但我找不到任何有关“更改主页部分”的信息。

我也知道他们这样做但我无法在SDK中找到它。也许对Android有更好理解的人可以看看它。我有一个没有root访问权限的2.2安卓手机,他们设法更改了主页。

答案 2 :(得分:0)

使用root权限,您可以转到/data/app/com.android.browser/shared_prefs

你有共享偏好的XML文件。

您只需编辑PREF_HOMEPAGE xml条目。

没有root是不可能的,因为你需要root权限才能访问该目录。