2

我正在开发一个小应用程序,它可以让我指定电话号码和消息,然后快速将预设消息发送到预设号码。我已经启动并运行了主要功能,现在我想制作一个小部件。

我一直在玩各种小部件教程,但没有一个涵盖我想做的事情。他们最终要么只是更新时钟,要么启动一项活动。我想做的只是在我的小部件中的按钮被按下时发送一条消息,也许有点Toast说“消息已发送”。

如何onClickListener在不启动活动的情况下向按钮添加一个?

我的小部件类看起来很像官方开发指南上的示例

public class SaldoWidget extends AppWidgetProvider {

    public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
        final int N = appWidgetIds.length;
        for (int i=0; i<N; i++) {
            int appWidgetId = appWidgetIds[i];

            Intent intent = new Intent(context, SaldoActivity.class);
            PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);

            RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget1);
            views.setOnClickPendingIntent(R.id.button, pendingIntent);

            appWidgetManager.updateAppWidget(appWidgetId, views);
        }
    }
}
4

1 回答 1

1

在按钮单击上更新主屏幕小部件您需要在清单中注册自定义广播接收器并将其添加为带有小部件的操作。

使您的小部件可点击是四五个步骤的任务,不可能在这里描述所有步骤。所以请参阅Android 小部件没有更新我的答案并下载工作主屏幕 appwidget,它会在点击时从HomeWidgetRendomNumber生成随机数。我希望这会有所帮助...

于 2012-05-26T14:49:10.693 回答