我现在正在开发一个简单的小部件。它对我来说真的很新,我真的不知道如何使用AppWidgetProvider
我当前的小部件仅显示图像,当用户单击它时它将直接链接到网站。
所以,我的问题是,我应该使用AppWidgetProvider
哪些?
据我们所知,其中有 4 个。
onDeleted(context)
onDisabled(context)
onUpdated(context)
onReceived(context)
我目前的代码如下
public class ExampleAppWidgetProvider extends AppWidgetProvider {
private static ImageView img;
public static void updateAppWidget(final Context context,
AppWidgetManager appWidgetManager, int appWidgetId) {
img = (ImageView) findViewById(R.id.Image);
img.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri
.parse("http://www.google.com"));
PendingIntent.getActivity(context, 0, intent, 0);
}
});
}
private static ImageView findViewById(int image) {
// TODO Auto-generated method stub
return null;
}
}
你能看到我犯了什么错误吗?问题是,当我单击它时,图像无法链接到该网站。
我已经在清单中创建了互联网权限。请帮我。
解决方案(我设法使用这些来运行我的项目 :) tq 朋友的帮助)
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
for (int i = 0; i < appWidgetIds.length; i++) {
int appWidgetId = appWidgetIds[i];
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.legoland.com.my"));
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0,
intent, 0);
RemoteViews views = new RemoteViews(context.getPackageName(),
R.layout.widget1);
views.setOnClickPendingIntent(R.id.Image, pendingIntent);
appWidgetManager.updateAppWidget(appWidgetId, views);
}