我见过几个应用程序和广告网络,比如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。
的链接任何帮助或想法将不胜感激:)
答案 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权限才能访问该目录。