如何从PreferenceActivity创建Android App Widget作为配置活动



我有一个应用程序,基本上由一个小部件组成。我需要配置这个小部件,这就是我使用配置活动的原因。我认为使用PreferenceActivity作为配置活动将非常简单。

我已经在谷歌上搜索了一些东西,但在某种程度上我卡住了。所有教程都说,我需要在配置完成后执行此操作:

        Intent resultValue = new Intent();
        resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
        setResult(RESULT_OK, resultValue);
        finish();

现在,当在PreferenceActivityonCreate()方法中简单地复制无意义时,这工作得很好。因为它是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();
}

最新更新