我遇到了觸發AppWidgetReciever的onEnabled和onDisabled方法的問題。我有指定的動作,我還記錄了onRecieve方法中的每個動作,但我得到的唯一兩個動作是「APPWIDGET_UPDATE」和「APPWIDGET_DELETED」。我已經搜索這個解決方案,但不幸的是沒有發現。這裏是我的代碼:Android onEnabled/onDisabled從未呼籲
清單部分:
<receiver android:name=".ScheduleWidgetProvider" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_ENABLED" />
<action android:name="android.appwidget.action.APPWIDGET_DISABLED" />
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<action android:name="android.appwidget.action.APPWIDGET_DELETED" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/provider_xml" />
</receiver>
Provider_xml:
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="180dp"
android:minHeight="40dp"
android:updatePeriodMillis="60000"
android:initialLayout="@layout/widget_layout"
android:configure="org.zivkovic.schedule.ConfigurationActivity"
>
</appwidget-provider>
ScheduleWidgetProvider:
public class ScheduleWidgetProvider extends AppWidgetProvider {
{
Log.w("Schedule", "ScheduleWidgetProviderRequested");
}
@Override
public void onReceive(Context context, Intent intent) {
Log.w("Schedule", "On recieve " + intent.getAction());
super.onReceive(context, intent);
}
@Override
public void onEnabled(Context context) {
Log.w("Schedule", "OnEnabled called");
...
super.onEnabled(context);
}
@Override
public void onDisabled(Context context) {
Log.w("Schedule", "OnDisabled called");
...
super.onDisabled(context);
}
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
for (int i = 0; i < appWidgetIds.length; i++) {
....
}
super.onUpdate(context, appWidgetManager, appWidgetIds);
}
}
任何幫助表示讚賞。謝謝!
我有一個類似的問題,這對我工作。我敢打賭,小部件與系統更緊密地聯繫在一起,重新安裝不會影響行爲。謝謝你的提示! – pkk
也爲我工作,謝謝! –
它也適用於我,但爲什麼?我有這個問題只是**有時**當我安裝我的應用程序在'AndroidStudio'的設備上進行測試。我也把所有需要'意圖過濾器',但我有時看到這個問題,它需要'卸載'+'重新安裝'再次。 – RAM