【发布时间】:2014-04-02 12:00:24
【问题描述】:
我创建了一个带有按钮和待定意图的小部件,以便在按下按钮时打开一个活动。我需要知道是否有某种方法可以在重复一定时间后自动触发我的待处理意图,以检查该活动中是否有更新。我需要使用alarmManager吗?
public class MainActivity extends AppWidgetProvider {
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
// TODO Auto-generated method stub
super.onUpdate(context, appWidgetManager, appWidgetIds);
final int N = appWidgetIds.length;
for (int i=0; i<N; i++) {
int appWidgetId = appWidgetIds[i];
Intent intent = new Intent(context, But1.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.activity_main);
views.setOnClickPendingIntent(R.id.button1, pendingIntent);
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
}
【问题讨论】:
-
您在这里想要实现的目标让我有点困惑。如果用户处于锁定屏幕/主屏幕并使用小部件,则活动中不会发生更新。尝试更好地描述您想要实现的目标 - 例如,根据提供商的更改更新小部件或检查网络服务?
-
好吧,基本上我正在寻找的是在 but1.class 中发生一些更新时立即更新我的小部件。我告诉你我需要为此创建服务扩展类,但我将如何通知关于我的服务类更新的小部件?
标签: android widget android-pendingintent