首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过单击小部件开始活动

通过单击小部件开始活动
EN

Stack Overflow用户
提问于 2012-07-19 12:46:31
回答 2查看 32.3K关注 0票数 24

我新手在编程Android和我尝试做一个小工具,已经能够从ISP获得有关我的帐户的一些数据。有许多未知的事情如何做,但我已经做了一些事情-我有一个带有配置活动的小部件,用户应该在其中输入登录和密码。Widget将数据存储在SharedPerferences中,当需要更新widget时,我会使用服务来启动AsyncTask,以便从ISP获取帐户数据。现在我想通过点击widget来开始一个活动。我已经尝试了我在这个网站上找到的所有建议,但小工具无法启动活动。我的小工具基于另一个小工具,放置在这里的https://github.com/Arturus/MetrikaWidget。我不知道我应该在什么地方更改,才能通过单击我的小部件开始活动。谢谢。

更新:我的更新函数,我建议我应该把PendingIntent放在哪里

代码语言:javascript
运行
复制
@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);
}
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11554085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档