我正在尝试让我的主屏幕小部件触发新小部件的配置类,但是遇到了问题。
当用户第一次尝试将我的小部件添加到主屏幕时,它会启动一个线程,该线程会下载带有传感器列表的文件,然后退出。下载完成后,下载任务会触发通知。当用户点击通知时,它应该启动dataWidgetConfig活动。这可以使用此代码
mNotificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
final Notification notifyDetails = new Notification(R.drawable.icon,"Sensor list downloaded.",System.currentTimeMillis());
CharSequence contentTitle = "Notification Details...";
CharSequence contentText = "Sensor list has downloaded, tap to add widget.";
Intent notifyIntent = new Intent(self, dataWidgetConfig.class);
notifyIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
notifyIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
PendingIntent pendingIntent = PendingIntent.getActivity(self, appWidgetId, notifyIntent, 0);
notifyDetails.setLatestEventInfo(self, contentTitle, contentText, pendingIntent);
mNotificationManager.notify(SIMPLE_NOTFICATION_ID, notifyDetails);
我的问题是,我没有appWidgetId。当我通过长按主屏幕添加一个小部件时,我会分配一个appWidgetId,我如何询问主屏幕?我猜我不能只做一个,因为它可能已经在使用或稍后分配。
目前我的活动启动正常,但退出是因为我故意将appWidgetId设置为:
AppWidgetManager.INVALID_APPWIDGET_ID;
有人可以就此提出任何想法吗?