Android Widget - 单击imageView打开应用程序

时间:2014-04-23 16:24:33

标签: android widget clickable

我有一个窗口小部件,当您单击imageView资源时会打开一个Web地址。我在调整代码方面遇到了麻烦。我希望打开指定的应用程序而不是网址。

package com.example.widget;

import android.net.Uri;
import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;
import android.content.Intent;
import android.widget.RemoteViews;
import android.widget.Toast;

public class MainActivity 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.website.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.activity_main);
      views.setOnClickPendingIntent(R.id.imageView2, pending);
      appWidgetManager.updateAppWidget(currentWidgetId,views);
      Toast.makeText(context, "widget added", Toast.LENGTH_SHORT).show();   
      }
   }    
}

1 个答案:

答案 0 :(得分:0)

Intent intent = new Intent(Intent.ACTION_VIEW);中的

使用您想要的特定应用程序的包名称。
如此示例How to force Share Intent to open a specific app?