Android使用应用程序上下文内部小部件的待定意图

时间:2011-02-19 09:10:38

标签: android widget android-intent

WidgetProvider按钮将使用PendingIntent进行通信 在WidetProvider的onUpdate(Context ...)方法内,将显示以下行:

PendingIntent buttonPendingIntent = PendingIntent.getBroadcast(context, 0, buttonIntent, PendingIntent.FLAG_UPDATE_CURRENT);

小部件管理器android传递了哪些上下文?

context.getApplicationContext()可以使用PendingIntent吗?正如我发现小部件冻结是一定时间和不同的应用程序条件,即使onUpdate被调用。使用context.getApplicationContext()似乎有所帮助。

1 个答案:

答案 0 :(得分:1)

由于AppWidgetManager.ACTION_APPWIDGET_UPDATE广播,您的WidgetProvider.onUpdate()被调用。请参阅source, line 52

'BroadcastRerceiver.onReceive()`的Javadoc说:

...you should never perform long-running operations in it...

因此,请检查您是否在onUpdate()内没有执行任何长时间运行的任务,因为这可能是您遇到冻结的原因。