0

是否有任何解决方法可以直接从小部件上的按钮调用活动?就像一个漂亮的按钮来启动应用程序。

从文档和这里的一些答案来看,views.setOnClickPendingIntent 是唯一的方法,并且需要服务。但我不需要服务,因为我并没有真正更新小部件!

实际上,我最初的任务很简单。我想要一个调用活动的主屏幕上的图标,但我不希望该图标出现在应用程序抽屉中。我知道我可以在 app-drawer 中放置很多活动图标。

4

1 回答 1

0

您不需要为此提供服务。

您应该只在 AppWidgetProvider 的 onUpdate 方法中设置 OnClickPendingIntent。

这里有一些链接显示了它是如何完成的,它们基本上是相同的,但有一些变化,你应该尝试一下:

通过单击小部件开始活动

从小部件启动活动

如何从 Android 小部件上的按钮运行 Activity?

如何使用 Home Widget 启动 Activity

就像我说的,不需要服务。

这是我使用的示例代码:

    @Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds){

     RemoteViews remoteViews=new RemoteViews(context.getPackageName(), R.layout.testwidget);
     //Intent set with the activity you want to start
     Intent intent = new Intent(context, MainActivity.class);


     PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);

    remoteViews.setOnClickPendingIntent(R.id.textView1, pendingIntent);

    appWidgetManager.updateAppWidget(appWidgetIds, remoteViews);
    }
于 2013-08-13T10:40:01.850 回答