【发布时间】:2015-05-11 09:53:47
【问题描述】:
单击小部件后,我的代码会启动一个新活动。我就是这样做的
public class ExampleAppWidgetProvider extends AppWidgetProvider {
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
for(int i=0; i<appWidgetIds.length; i++){
int currentWidgetId = appWidgetIds[i];
String url = "http://www.tutorialspoint.com";
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setData(Uri.parse(url));
PendingIntent pending = PendingIntent.getActivity(context, 0,
intent, 0);
RemoteViews views = new RemoteViews(context.getPackageName(),
R.layout.widget1);
views.setOnClickPendingIntent(R.id.button, pending);
appWidgetManager.updateAppWidget(currentWidgetId,views);
// Toast.makeText(context, "widget clicked ", Toast.LENGTH_SHORT).show();
}
}
}
我不想启动该活动,而只想在小部件区域附近显示一个 Toast。
我可以这样做吗..?
求救!!
编辑
我的问题在这个问题android widget on click event没有答案
但是我也尝试使用此代码
public class ExampleAppWidgetProvider extends AppWidgetProvider {
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
Toast.makeText(context, "widget clicked ", Toast.LENGTH_SHORT).show();
}
}
但这仅在用户将小部件放置在主屏幕上时才显示 toast,当用户单击小部件时不显示 toast 并且没有任何反应,然后也不会调用 onUpdate!
【问题讨论】:
标签: android android-widget android-toast