除了我在 Froyo 上模拟它时,这段代码似乎在所有东西上都可以正常工作。我没有运行 Froyo 的实际设备,所以我无法在实际设备上对其进行测试,但它在提交时是 FC 的。我什至在 try 块中有代码,所以我认为它应该捕获异常而不是强制关闭。
private void getPrefs() {
boolean dockRespond;
boolean carDockRespond;
boolean silenceRinger;
settings = getSharedPreferences(PREFS_NAME, 0);
editor = settings.edit();
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
dockRespond = prefs.getBoolean("dockRespond", true);
carDockRespond = prefs.getBoolean("carDockRespond", true);
silenceRinger = prefs.getBoolean("silenceRinger", false);
Intent startDock = new Intent(this, DockService.class);
if(dockRespond)
{
//start dock listener service
startService(startDock);
}
else
{
//stop dock listener service
stopService(startDock);
}
try
{
editor.putBoolean(DOCKRESPONSEGLOBAL, dockRespond);
editor.putBoolean(CARDOCKRESPONSEGLOBAL, carDockRespond);
editor.putBoolean(SILENCERINGER, silenceRinger);
editor.commit();
}
catch (Exception e)
{
Log.d("Exception caught: ", e.getMessage());
}
}
所有常量(全部大写)都在上面的常量区域中定义,正如我之前所说,代码似乎适用于除 Froyo 之外的任何操作系统版本。在 froyo 中,FC 位于“editor.commit();”上 线。
有什么建议么?