如何从 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();
现在,当在 PreferenceActivity
的 onCreate()
方法中简单地复制无意义时,这工作正常。因为它是 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();
}
我有一个基本上由小部件组成的应用程序。我需要配置这个小部件,这就是我使用配置 activity 的原因。我认为使用 PreferenceActivity
作为配置 activity.
我已经用谷歌搜索了一些东西,但在某些时候我卡住了。所有教程都说,我需要在配置完成后执行此操作:
Intent resultValue = new Intent();
resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
setResult(RESULT_OK, resultValue);
finish();
现在,当在 PreferenceActivity
的 onCreate()
方法中简单地复制无意义时,这工作正常。因为它是 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();
}