我见过一些应用程序和广告网络,比如startapp通过代码来改变android网页浏览器的主页。这怎麽可能?
我已经看了一下startapp sdk,但我还没有找到他们改变主页的部分。
我还研究了com.android.browser.BrowserSettings中的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的链接
如有任何帮助或想法,我们将不胜感激:)
发布于 2012-09-13 00:52:55
我同意Diane HackBorn (Google's Android Engineer) on this one:这应该是不可能的,因为这将是一个平台安全缺陷。
如果这是可能的,将通过某种类型的黑客攻击(即:具有root访问权限的应用程序可以直接写入浏览器应用程序设置文件)。
发布于 2012-09-13 01:08:16
我看到你提到了startapp。我已经看过他们反编译的SDK,但是我找不到任何关于“改变主页部分”的东西。
此外,我知道他们这样做,但我找不到它在SDK中。也许对android有更好理解的人可以看看它。我的android手机有2.2版,没有root访问权限,他们设法更改了主页。
发布于 2012-09-19 19:54:13
使用root权限,您可以转到/data/app/com.android.browser/shared_prefs
您已经有了用于共享首选项的XML文件。
您只需要编辑PREF_HOMEPAGE xml条目。
没有root,这是不可能的,因为您需要root权限才能访问该目录。
https://stackoverflow.com/questions/12352452
复制相似问题