我单击一个小部件图标时启动一个活动,我想要将该小部件的位置发送到该活动。
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过程中。但是这会使活动崩溃。
我听说使用
intent.getsourceBounds()
返回该位置。在onReceive ryt中,我试图绑定一个全局变量。从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:我发现https://stackoverflow.com/a/5324918/1685829表示可以使用getSourceBounds()完成。有人可以解释我如何在onUpdate中使用它。
最佳答案
您不需要发送它; Android为您做到了。 getSourceBounds()
只能在活动内部使用。此信息在onUpdate()
中不可用。