主屏幕小部件上的图像奇怪的onclick行为

时间:2010-04-07 22:03:26

标签: android

我写了一个主屏幕小部件,上面有一个图像。单击图像时,将打开浏览器以获取URL链接。 一般来说,它是有效的。但奇怪的是,当我点击背景,然后点击图片,浏览器将无法打开。直到我第二次点击图片,浏览器才会打开。重现的步骤如下:

  1. 点击主屏幕小部件背景。
  2. 单击主屏幕上的图像。浏览器未打开。
  3. 再次点击图片。浏览器已打开。
  4. 如果我没有点击背景,图像会对点击做出反应,即第一次点击图像时浏览器会打开。

    小部件XML文件如下:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/widget"
    android:layout_width="320dip" android:layout_height="200dip"
        android:background="@drawable/prt_base"
    >
        <ImageView android:id="@+id/picture1"
            android:layout_width="134dip"
            android:layout_height="102dip"
            android:layout_marginLeft="62dip"
            android:layout_marginTop="6dip"
            android:scaleType="center"
                    android:src="@drawable/picture1"
        />
    </RelativeLayout>
    

    在picture1 ImageView上设置OnClick的代码如下:

                            defineIntent = new Intent(Intent.ACTION_VIEW, Uri
                                    .parse("http://www.google.com"));
                            pendingIntent = PendingIntent
                                    .getActivity(context,
                                            0 /* no requestCode */,
                                            defineIntent, 0 /* no flags */);
                            updateViews.setOnClickPendingIntent(
                                    picId, pendingIntent);
    

    任何人都知道什么是错的?

    感谢。

1 个答案:

答案 0 :(得分:1)

  RemoteViews updateViews = new RemoteViews(context.getPackageName(), R.layout.mywidget);

    Intent defineIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
        PendingIntent pendingIntent = PendingIntent.getActivity(context,
                0 , defineIntent, 0 );
   updateViews.setOnClickPendingIntent(picId, pendingIntent);

   appWidgetManager.updateAppWidget(appWidgetId, updateViews );

它会起作用!

你可以发布你的appwidget-provider ???