AppWidgetProvider问题 [英] AppWidgetProvider problem
本文介绍了AppWidgetProvider问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个AppWidgetProvider,我需要做一些初始化时,一个小部件首先被添加到主屏幕。我的理解是这样做的地方是在onEnabled(上下文的背景下)的方法。我的问题是,这种方法不会被调用(据我可以在logcat中看到的)。
I have an AppWidgetProvider, and I need to do some initialization when a widget is first added to the home screen. I understand that the place to do it is in the onEnabled(Context context) method. My Problem is that this method is never called (As far as I can see in the logcat).
下面是我的code:
public class MyMonitorWidget extends AppWidgetProvider{
@Override
public void onEnabled(Context context) {
super.onEnabled(context);
Log.v("LOG", "Widget onEnabled");
Intent intentToFire = new Intent(UpdateAlarmReceiver.ACTION_UPDATE_ALARM);
context.sendBroadcast(intentToFire);
}
...
}
和我appwidget提供者的xml:
And my appwidget-provider xml:
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider
xmlns:android="http://schemas.android.com/apk/res/android"
android:initialLayout="@layout/widget_layout"
android:minWidth="146dp"
android:minHeight="74dp"
android:label="Monitor Widget"
/>
和在清单:
<receiver android:name="MyMonitorWidget" android:label="Monitor Widget">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<intent-filter>
<action android:name="com.android.myMonitor.ACTION_NOTIFY_WIDGET"/>
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/monitor_widget_info"/>
</receiver>
有什么你觉得是什么问题?
What do you think is the problem?
推荐答案
您需要添加 android.appwidget.action.APPWIDGET_ENABLED
的另一个动作:
You need to add android.appwidget.action.APPWIDGET_ENABLED
as another action:
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<action android:name="android.appwidget.action.APPWIDGET_ENABLED" />
</intent-filter>
如果没有,您将不会收到触发 onEnabled()
。
这篇关于AppWidgetProvider问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文