- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的小部件中,我启动了 Timer。它工作正常,一切正常。但是,如果我从主屏幕中删除小部件,则不会调用 onDisable 或 onDeleted。
我尝试使用 onReceive,但我的 Log.i() 只提供 onUpdate。
@Override
public void onReceive(Context context, Intent intent)
{
super.onReceive(context, intent);
Log.i("onReceive", intent.getAction());
}
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
{
timer = new Timer();
timer.scheduleAtFixedRate(new TasksView(context, appWidgetManager), 100, 5000);
[...]
}
另外,我有:
@Override
public void onDeleted(Context context, int[] appWidgetIds)
{
super.onDeleted(context, appWidgetIds);
Log.i("MyTag", "onDeleted");
}
@Override
public void onDisabled(Context context)
{
super.onDisabled(context);
Log.i("MyTag", "onDisabled");
}
和:
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<action android:name="android.appwidget.action.APPWIDGET_DELETED" />
<action android:name="android.appwidget.action.APPWIDGET_DISABLED" />
<action android:name="com.opennet.supportportal.UPDATE_LIST_WARN" />
那么,我怎样才能停止我的计时器呢?为什么不调用 onDisable 或 onDeleted?
最佳答案
android 1.5有一个bug,就是没有调用onDeleted方法。下面放置在 onRecive 中的代码修复了这个问题。
@Override
public void onReceive(Context context, Intent intent)
{
final String action = intent.getAction();
if (AppWidgetManager.ACTION_APPWIDGET_DELETED.equals(action)) {
final int appWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
if (appWidgetId != AppWidgetManager.INVALID_APPWIDGET_ID) {
this.onDeleted(context, new int[] { appWidgetId });
}
} else {
super.onReceive(context, intent);
}
}
关于android - WidgetProvider onDisable、onDeleted 未调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22730502/
我在触发 AppWidgetReciever 的 onEnabled 和 onDisabled 方法时遇到问题。我指定了操作,我还在 onRecieve 方法中记录了每个操作,但我得到的仅有的两个操作
当我的 chrome 扩展被禁用时,我需要帮助来创建回调。我已经提到过this link这说明了添加一个 onDisable 监听器。但这对自己不起作用。当我的扩展被禁用时,它什么也不做。这个链接中有
在我的小部件中,我启动了 Timer。它工作正常,一切正常。但是,如果我从主屏幕中删除小部件,则不会调用 onDisable 或 onDeleted。 我尝试使用 onReceive,但我的 Log.
我正在开发一个应用程序,我正在将我的应用程序设置为设备管理员。我想在用户要禁用应用程序设备管理员的复选框时显示自定义消息或对话框。如何在顶部获取或显示 Activity (自定义对话框) androi
我的代码正在使用semantic-ui复选框模块。我有一个复选框。我需要在复选框状态更改后调用一个函数。就像jQuery的复选框更改功能一样。但是当我使用语义 UI 复选框时,我无法调用“onDisa
我正在研究原始 PowerControl Widget (SettingsAppWidgetProvider) 的一段源代码,我发现了以下方法: @Override public vo
由于我使用 AlarmManager 执行定期小部件更新,因此我需要确保 onEnabled 和 onDisabled 能够可靠地工作。 但是,我意识到它们有时不会被触发。我不是唯一面临此问题的人。
我是一名优秀的程序员,十分优秀!