如何在小部件点击上启动网站?

Dav*_*ave 4 url android widget onclick

我有一个显示文本字段的基本小部件。我试图弄清楚当用户单击小部件本身时如何启动网站 url。我似乎无法找到有关此事的任何代码。

Naf*_*ipt 5

我们不能onClickListener直接在小部件中使用视图。相反,我们应该将我们的IntentwithPendingIntentsetOnClickPendingIntentto view包裹起来。

public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
        super.onUpdate(context, appWidgetManager, appWidgetIds);
        // There maybe > 1 instance of our widget
        for (int i : appWidgetIds) {
        startBrowsing(context, appWidgetManager, i);
        }
    }

// Processing click on widget
    private void startBrowsing(Context ctx,
            AppWidgetManager appWidgetManager, int widgetID) {
        RemoteViews widgetView = new RemoteViews(ctx.getPackageName(), R.layout.widget);
        Uri uri = Uri.parse("http://www.google.com");
        Intent intent = new Intent(Intent.ACTION_VIEW, uri);
        PendingIntent pIntent = PendingIntent.getActivity(ctx, widgetID, intent, 0);
           // viewID - our clickable view ID
        widgetView.setOnClickPendingIntent(R.id.viewID, pIntent);

        appWidgetManager.updateAppWidget(widgetID, widgetView);


    }
Run Code Online (Sandbox Code Playgroud)

在 metadata.xml 中将更新周期设置为 0,因为我们手动更新它

android:updatePeriodMillis="0"
Run Code Online (Sandbox Code Playgroud)

并且不要忘记

<uses-permission android:name="android.permission.INTERNET"/>
Run Code Online (Sandbox Code Playgroud)