我是一个Android编程的新手,我想做一个小部件,可以从我的ISP获取一些关于我的账户的数据。有很多不知道该怎么做的事情,但我已经做了一些事情-我做了一个配置活动的小部件,在那里用户应该输入登录名和密码。小部件将数据存储在SharedPerferences中,当需要更新小部件时,我使用服务启动AsyncTask从ISP获取账户数据。现在我想通过单击小部件来启动一个活动。我尝试了这个网站上所有的建议,但小部件无法启动活动。我的小部件基于另一个小部件https://github.com/Arturus/MetrikaWidget。我不明白我应该在哪里更改以通过点击我的小部件启动活动。谢谢。
更新:
我的更新函数,在那里我认为我应该放置PendingIntent。
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
{
Log.d(TAG, "onUpdate");
for (int appWidgetId : appWidgetIds)
{
updateAppWidget(context, appWidgetManager, appWidgetId);
}
/* An updateAppWidget functions looks like as:
Intent intent = new Intent(context, UpdateWidgetService.class);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, appWidgetIds);
context.startService(intent);
*/
Intent intent = new Intent(context, DetailedStatActivity.class);
PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, 0);
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.layout);
views.setOnClickPendingIntent(R.id.layout, pendingIntent);
ComponentName componentName = new ComponentName(context.getPackageName(), WidgetProvider.class.getName());
appWidgetManager.updateAppWidget(componentName, views);
}