我有一个带有Button的应用小部件。
点击按钮时,会触发一个意图(Intent),调用我的广播接收器(Broadcast Receiver)。
虽然它正常工作,但偶尔在使用任务管理器中的“清除内存”按钮后,小部件会卡住 - 点击它没有反应。不过,如果我的应用程序运行,则仍然可以从应用程序获得更新。
我不确定未触发待处理意图是否是清理内存的故障,还是我的问题。 无论如何,以下是代码:
注册待处理意图(应用程序小部件的onUpdate方法)
虽然它正常工作,但偶尔在使用任务管理器中的“清除内存”按钮后,小部件会卡住 - 点击它没有反应。不过,如果我的应用程序运行,则仍然可以从应用程序获得更新。
我不确定未触发待处理意图是否是清理内存的故障,还是我的问题。 无论如何,以下是代码:
注册待处理意图(应用程序小部件的onUpdate方法)
Intent intent = new Intent(context, ServiceControl.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.appwidget);
views.setOnClickPendingIntent(R.id.appwidgetbutton, pendingIntent);
然后使用视图更新小部件。
这里是应用程序小部件提供程序的声明:
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="72dp"
android:minHeight="72dp"
android:initialLayout="@layout/appwidget"
android:updatePeriodMillis="0">
</appwidget-provider>
我不希望系统调用小部件更新,只想从我的应用程序中更新它。
那么为什么挂起的意图停止触发呢?
提前致谢。