AppWidgetProvider: not called onEnabled method

前端 未结 2 464
一整个雨季
一整个雨季 2021-01-16 15:59

I have widget that display data from content provider. I want to know when data in content provider changes. As far as I know way to do it is

context.getConte

相关标签:
2条回答
  • 2021-01-16 16:26

    An AppWidgetProvider (or any other manifest-registered BroadcastReceiver) cannot call registerContentObserver(). The entity that is changing your content will need to update your app widget, or you will need to implement some sort of polling mechanism (e.g., check for new content based on android:updatePeriodMillis).

    0 讨论(0)
  • 2021-01-16 16:39

    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" />
        <action android:name="android.appwidget.action.APPWIDGET_DELETED" />
        <action android:name="android.appwidget.action.APPWIDGET_DISABLED" />  
    </intent-filter>
    

    Without that, you will not receive the broadcast that triggers onEnabled().

    note: APPWIDGET_DELETED for onDeleted(...), APPWIDGET_DISABLED for onDisabled(...)

    0 讨论(0)
提交回复
热议问题