我有一个应用程序,基本上由一个小部件组成。我需要配置这个小部件,这就是我使用配置活动的原因。我认为使用PreferenceActivity
作为配置活动将非常简单。
我已经在谷歌上搜索了一些东西,但在某种程度上我卡住了。所有教程都说,我需要在配置完成后执行此操作:
Intent resultValue = new Intent();
resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
setResult(RESULT_OK, resultValue);
finish();
现在,当在PreferenceActivity
的onCreate()
方法中简单地复制无意义时,这工作得很好。因为它是PreferenceActivity
,所以我没有一个按钮,上面写着"配置完成",我甚至不能在PreferenceActivity
中添加这样的按钮。当将上述代码添加到onDestroy()
方法时,似乎为时已晚,因为最终没有创建小部件。但是onDestroy()
或onStop()
是唯一配置完成的地方,因为用户按下了Android返回按钮。
这个问题的合理解决方案是什么?
您可以重写onBackPressed()
:
@Override
public void onBackPressed()
{
Intent resultValue = new Intent();
resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
setResult(RESULT_OK, resultValue);
finish();
}