相关疑难解决方法(0)

使用android:configure配置的窗口小部件即使配置未完成也将接收onUpdate

这就是我配置APP的小部件的方法:

<appwidget-provider
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:minWidth="240dp"
    android:minHeight="193dp"
    android:updatePeriodMillis="86400000"
    android:initialLayout="@layout/xyz_appwidget"
    android:configure="com.xyz.activity.Configuration"
    />
Run Code Online (Sandbox Code Playgroud)

因此,Configuration一旦用户将小部件放在主屏幕上,系统就会调出活动.遗憾的是,如果未应用配置,则不应将此窗口小部件放在屏幕上.

我添加了一些调试输出.当用户为其主屏幕选择小部件时会发生这种情况.注意:这是配置活动在前面的时候,而不是小部件.

I/ActivityManager(  101): Start proc com.xyz for broadcast com.xyz/.widget.xyz.XyzWidgetProvider: pid=14371 uid=10050 gids={3003, 1015}
D/XyzWidgetProvider(14371): onReceive: android.appwidget.action.APPWIDGET_ENABLED
D/XyzWidgetProvider(14371): onEnabled
D/XyzWidgetProvider(14371): onReceive: android.appwidget.action.APPWIDGET_UPDATE
Run Code Online (Sandbox Code Playgroud)

这意味着即使未配置窗口小部件,也会触发两个事件(ENABLED,UPDATE).启用对我有意义,但更新显然不是.特别是当Configuration活动成功完成时,不会发送任何其他UPDATE事件.

我还读到,通过设置Configuration活动的结果,Activity.RESULT_CANCELED可以取消配置过程.但由于这显然是异步运行,我不知道如何使配置过程阻塞?以前遇到过这个人吗?

我的最后一点:我查看了Android Gallery Widget,它以某种方式正确管理,因此不会添加未配置的图库窗口小部件.但我怀疑一些HTC 魔术,因为日志不是很有帮助.

android android-widget

10
推荐指数
1
解决办法
4230
查看次数

标签 统计

android ×1

android-widget ×1