3

我正在开发一个不再与公司合作的人编写的 Android 应用程序,并且不了解为 AppWidget 更新创建接收器的目的是什么。清单具有启动应用程序时运行的主要活动。据我所知,appwidget 从未使用过,它的代码与应用程序的其余部分是分开的。我不知道这是否是剩余的并且可以删除,或者它是否仍在使用中。我找到的所有教程和示例都解释了如何实现这一点,但并没有真正解释为什么要实现这一点,尤其是在这种情况下。

清单文件中的代码:

<application
    android:debuggable="true"
    android:icon="@drawable/icon"
    android:label="@string/app_name"
    android:theme="@style/ConnectTheme" >
    <activity
        android:name="com.globalcrossing.connect.ConferenceListView"
        android:label="@string/listTitle" >
        <intent-filter android:label="@string/app_name" >
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name="com.globalcrossing.connect.Preferences"
        android:label="@string/set_preferences" >
    </activity>
    <!-- Broadcast Receiver that will process AppWidget updates -->
    <receiver
        android:name="com.globalcrossing.connect.ConferenceWidget"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
        </intent-filter>

        <meta-data
            android:name="android.appwidget.provider"
            android:resource="@xml/widget_provider" />
    </receiver>
... more activities I understand, deleted for brevity
 </application>
4

2 回答 2

5

如文档:

ACTION_APPWIDGET_UPDATE

在需要更新 AppWidget 时发送。

ACTION_APPWIDGET_UPDATE在以下情况下采取行动:

1.从 AppWidget 选择器(来自 AppWidget 提供者)添加到主屏幕的 Your AppWidget 的新实例,

2.android:updatePeriodMillis当您使用属性在 AppWidget 元数据文件中提供的请求更新间隔已过时,以及

3.设备重启时

于 2013-05-28T19:20:11.860 回答
2

如果应用程序有相应的主屏幕小部件,可以在所有程序列表的小部件部分下找到,那么您将需要APPWIDGET_UPDATE. 否则,它将毫无目的地对您的应用程序造成不必要的噪音。

于 2013-05-28T19:34:28.277 回答