Java 在主屏幕上获取appwidget位置?

Java 在主屏幕上获取appwidget位置?,java,android,widget,rect,Java,Android,Widget,Rect,我在单击小部件图标时启动一个活动。我想要的是将该小部件的位置发送到该活动。我已经尝试了 Intent intent=new Intent(context, WidgetActivity.class); Bundle bundle = new Bundle(); bundle.putString("rect", bound); intent.putExtras(bundle); //intent.putExtra

我在单击小部件图标时启动一个活动。我想要的是将该小部件的位置发送到该活动。我已经尝试了

        Intent intent=new Intent(context, WidgetActivity.class);
        Bundle bundle = new Bundle();
        bundle.putString("rect", bound);  
        intent.putExtras(bundle);

        //intent.putExtra("rect", bound.toString());
        PendingIntent pendingIntent = PendingIntent.getActivity(context, 0,intent, 0);
        RemoteViews views = new RemoteViews(context.getPackageName(),R.layout.pic1);

        views.setOnClickPendingIntent(R.id.wbutton1, pendingIntent);

        appWidgetManager.updateAppWidget(appWidgetId, views);
在我的onUpdate过程中。但这会使活动崩溃。 我听说该位置是使用onReceive ryt中的
intent.getsourceBounds()
返回的。我尝试将bound设置为全局变量。将onReceive中的值设置为
bound=intent.getsourceBounds()这也不起作用

所以我的问题是 1.如何使用onUpdate中的
intent.getsourceBounds()
获取小部件位置? 2.如何将其发送至活动

谢谢你抽出时间

编辑:我成功地将字符串从小部件发送到活动,如下所示:

        Intent intent=new Intent(context, WidgetActivity.class);
        Bundle bundle = new Bundle();
        bundle.putString("pos", "hello");
        intent.putExtras(bundle);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        PendingIntent pendingIntent = PendingIntent.getActivity(context,0,intent,PendingIntent.FLAG_CANCEL_CURRENT);

编辑2:我发现可以使用getSourceBounds()完成。有人能在onUpdate中解释我如何使用它吗。

您不需要发送它;安卓为你做这件事<代码>getSourceBounds()
只能从活动内部使用。此信息在
onUpdate()中不可用