目前,在用户将窗口小部件拖放到其屏幕上之后,我的配置活动就会启动。现在要将Widget实际添加到屏幕上,在我执行的配置活动中:
Intent resultValue = new Intent();
resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, mAppWidgetId);
setResult(RESULT_OK, resultValue);
finish();
基本上,我不确定如何在不调用finish();的情况下将setResult()中的RESULT_OK
结果集返回给调用者。目前,这是在活动onCreate()中,因此活动一启动就会关闭。我不想要添加" Ok"按钮,供用户按,然后调用finish(),以便返回结果。
我需要将小部件添加到屏幕中,无论用户将其拖放到屏幕上后是什么。我怎么能这样做?
答案 0 :(得分:1)
您不必立即致电finish()
,您可以在onCreate()
中设置结果,然后让活动继续运行。我不确定会带来什么好处,但它完全没问题。
修改强>
由于您无法按下主页按钮,并且无法阻止用户切换应用,因此我提供的其他建议如下:
<appqidget-provider>
中致电finish()
。如果用户导航或按Home,您应该获得onStop()
回调,您只需关闭活动即可。用户可能会尝试回到它,所以也许值得在清单中使用onStop()
来进行该活动。