我到处寻找,包括这篇文章: How to change the default Android browser's homepage within an app?
但我还没有找到更改浏览器应用主页的方法。
我确信它可以完成,因为我看到了应用程序。
在查看BrowserSettings类的android源代码后,我尝试用以下方法覆盖浏览器应用程序的设置:
try {
Context browserContext = createPackageContext("com.android.browser", Context.CONTEXT_IGNORE_SECURITY);
SharedPreferences sp = browserContext.getSharedPreferences("com.android.browser_preferences", Context.MODE_WORLD_WRITEABLE);
Editor edidor = sp.edit();
edidor.putString("homepage", "http://www.newhomepage.com");
edidor.commit();
} catch (NameNotFoundException e) {
e.printStackTrace();
}
但是在调用getSharedPreferences()时收到了警告:
未经许可,尝试阅读首选项文件/data/data/com.android.browser/shared_prefs/com.android.browser_preferences.xml
调用commit()时出现此错误:
无法将文件/data/data/com.android.browser/shared_prefs/com.android.browser_preferences.xml重命名为备份文件/data/data/com.android.browser/shared_prefs/com.android.browser_preferences。 xml.bak
但我会请求权限:<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" /> <uses-permission android:name="com.android.launcher.permission.WRITE_SETTINGS" />
有人能想出办法让这项工作成功吗?或者采用不同的方法?