- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我的小部件有一些问题。这是描述:
上下文:
我有一个家庭小部件。
当我添加它时,它会弹出一个配置 Activity ,用于为小部件设置一些参数。
如果我在完成配置Activity之前调用setResult(RESULT_OK, resultValue);,小部件就会被添加到Home中。
如果我通过将小部件拖到垃圾箱来删除它,则会调用我的 AppWidgetProvider 类中的 public void onDeleted(Context context, int[] appWidgetIds)。到目前为止一切顺利。
问题:如果配置 Activity 以结果代码 RESULT_CANCELED (setResult(RESULT_CANCELED);) 退出,则不会调用我的 AppWidgetProvider 类中的 public void onDeleted(Context context, int[] appWidgetIds)并且小部件保留在 Activity 小部件列表中。当我重新启动手机时,我的 AppWidgetProvider 类中的 onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) 被调用,并且在 int[] appWidgetIds 我拥有所有应该是的小部件(ID)取消(添加前已删除)+ Activity 的(实际显示在主页上的)。通过拖拽到垃圾箱中删除的 Widget 不会显示在此列表中。随着时间的推移,如果用户从配置 Activity 中取消,这个小部件 ID 列表会越来越大。
API 引用说明如下:“如果你使用Activity.setResult()返回RESULT_OK,就会添加AppWidget,你会收到一个针对这个AppWidget的ACTION_APPWIDGET_UPDATE广播。如果你返回RESULT_CANCELED,主机会取消添加,不显示这个AppWidget,你会收到ACTION_APPWIDGET_DELETED 广播。”
谁能给我一些提示?谢谢。
这是我的 list :
<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">
<receiver android:name=".MytWidget" 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/my_widget_provider" />
</receiver>
<activity android:name=".ConfigurationActivity">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
</intent-filter>
</activity>
</application>
其余代码不相关,因为上面已经解释过了(我无权发布它)。
最佳答案
我遇到了同样的问题,我是在 onPause 事件中这样做的
public void removeWidget(int appWidgetId) {
AppWidgetHost host = new AppWidgetHost(Config.this, 1);
host.deleteAppWidgetId(appWidgetId);
}
检查了小部件 ID,小部件已被删除。如果您只有一个应用小部件主机,则主机 ID 并不重要。
private boolean canceled = true;
@Override
protected void onPause() {
if(canceled) {
removeWidget(appWidgetId);
}
super.onPause();
}
在确定点击中,我将 canceled
设置为 false
关于android - 将 RESULT_CANCELED 作为配置 Activity 的结果时未删除小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4393144/
在我们的数据库表上,我们使用两个唯一的非聚集索引来创建跨四个字段的唯一约束。我们使用两个,因为其中一个字段 ZipCode 是一个可为空的字段。如果表中存在一条包含 ZipCode 的 null 条目
我刚刚开始学习 Rails 3 教程,以便对框架有一点熟悉,但我在生成 schema.rb 时遇到了问题。我的操作系统是 Windows 7 x64、Ruby 1.9.2、MySQL2 gem 0.2
我是一名优秀的程序员,十分优秀!