小工具启动Activity

时间:2011-10-25 10:15:08

标签: android

我开发了一个小部件。它包含图像按钮。 我可以选择一个城市名称(在按钮中),它将打开我开发的另一个应用程序,它将在地图中显示上述城市。

我创建了活动和小部件,但不知道如何从小部件启动应用程序以及如何将城市名称传递给应用程序

2 个答案:

答案 0 :(得分:1)

最后我找到了方法

Intent theActivity = new Intent(Intent.ACTION_MAIN)
.addCategory(Intent.CATEGORY_LAUNCHER)
.setComponent(new ComponentName("your.pkgname", "com.pkgname.ScreenName"));

这将打开具有指定页面的应用程序

答案 1 :(得分:0)

您可以通过以下代码从小部件打开应用程序屏幕...以及从小部件到应用程序的传输数据...您需要先将数据保存到首选项,然后在应用程序中使用它。

public class WatchWidget extends AppWidgetProvider {

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

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

        RemoteViews remoteViews;
        ComponentName watchWidget;
        remoteViews = new RemoteViews( context.getPackageName(), R.layout.widget_layout );
        remoteViews.setOnClickPendingIntent(R.id.root, pendingIntent);

        watchWidget = new ComponentName( context, WatchWidget.class );