我有一个活动PlaceSearch.java
,它也恰好是我的小部件的配置类。我正在开发一个天气小部件,所以我使用FrameLayout
的是由一个ImageButton
和然后组成的LinearLayout
。请看这个链接。
我想在PlaceSearch.java
用户单击. 所以我使用下面的代码来实现它widget
home screen
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
// TODO Auto-generated method stub
super.onUpdate(context, appWidgetManager, appWidgetIds);
System.out.println("entering onUpdate");
context.startService(new Intent(context, TimeService.class));
for(int id: appWidgetIds){
System.out.println(id);
RemoteViews view = new RemoteViews(context.getPackageName(),R.layout.activity_main);
Intent intent = new Intent(context,Preferences.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pi =PendingIntent.getBroadcast(context, 0, intent, 0);
view.setOnClickPendingIntent(R.id.ibmainBackground, pi);
appWidgetManager.updateAppWidget(id, view);
}
}
但这不起作用,也许是因为FrameLayout
导致LinearLayout
重叠,ImageButton
因此ImageButton
从未真正点击过。如果是这样,请为我提供打开活动的正确方法。