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

How to create Android App Widget from PreferenceActivity as configuration activity

我有一个基本上由小部件组成的应用程序。我需要配置这个小部件,这就是我使用配置 activity 的原因。我认为使用 PreferenceActivity 作为配置 activity.

会很简单

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

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

现在,当在 PreferenceActivityonCreate() 方法中简单地复制无意义时,这工作正常。因为它是 PreferenceActivity,所以我没有像按钮那样的东西,上面写着 "Configuration finished",我什至不能在 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();

}