小部件 Onclick 不起作用

Posted

技术标签:

【中文标题】小部件 Onclick 不起作用【英文标题】:Widget Onclick is not working 【发布时间】:2014-11-02 11:22:46 【问题描述】:

我正在尝试创建一个每半小时更新一次的应用程序。目前正在尝试在小部件点击时启动更多活动,但它不起作用

以下是我的 provider.java 类

public class Provider extends AppWidgetProvider 
public static void updateAppWidget(Context paramContext,
        AppWidgetManager localAppWidgetManager, int i, String string) 

    ComponentName thiswidget = new ComponentName(paramContext,
            Provider.class);

    AppWidgetManager manager = AppWidgetManager.getInstance(paramContext);
    int[] allWidgetIds = manager.getAppWidgetIds(thiswidget);

    for (int widgetId : allWidgetIds) 

        Intent in = new Intent(paramContext, display_widget.class);

        PendingIntent pendingIntent = PendingIntent.getBroadcast(
                paramContext, 0, in, 0);

        RemoteViews remoteViews = new RemoteViews(
                paramContext.getPackageName(), R.layout.main);

        remoteViews.setOnClickPendingIntent(R.id.Main, pendingIntent);
        localAppWidgetManager.updateAppWidget(widgetId, remoteViews);

    



public void onUpdate(Context paramContext,
        AppWidgetManager paramAppWidgetManager, int[] paramArrayOfInt) 
    int i = paramArrayOfInt.length;

    for (int j = 0;; j++) 
        if (j >= i) 
            return;
        
        int k = paramArrayOfInt[j];

        updateAppWidget(paramContext, paramAppWidgetManager, k,
                "soome string");
    

提前谢谢.. :)

【问题讨论】:

使用PendingIntent.getActivity(paramContext, 0, in, 0); 【参考方案1】:

尝试使用 PendingIntent.FLAG_UPDATE_CURRENT

        Intent intent = new Intent(paramContext, display_widget.class);
        intent.setAction(ACTION_BUTTON);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(paramContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
        views.setOnClickPendingIntent(R.id.widget_button, pendingIntent);

【讨论】:

以上是关于小部件 Onclick 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Android Widget onClick 不起作用 - 服务无法启动

为啥 Marquee 在小部件中不起作用?

Swift UIView 小部件自动布局不起作用

添加/删除小部件以及调整大小不起作用

为啥高度参数在标签小部件中不起作用?

Android 小部件更新不起作用