2014-04-01 48 views
0

我可以更新一個窗口小部件,但我有一些麻煩開始新的意圖點擊從窗口小部件。從Android Widget開始意圖點擊

這是代碼:

 try { 
     remoteViews.setOnClickPendingIntent(R.id.widgetIcon, 
        openGooglePlay(context, bundle)); 

     } catch (NullPointerException e) { 
      Log.d(TAG, 
        "Error loading google play from widget: " + e.getMessage()); 
     } 

我很困惑,爲什麼這個意圖不點擊開始。它應該只附加到資源widgetIcon,所以不要與其他任何東西混淆,對吧?

回答

1

確保調用了AppWidgetProvider onUpdate方法,並設置了正確的掛起意圖。在主屏幕中添加小部件時,嘗試調試並查看是否調用了onUpdate。

下面是一個示例工作代碼..

public class CustomAppWidgetProvider extends AppWidgetProvider{ 
@Override 
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { 
    final int N = appWidgetIds.length; 

    for (int i = 0; i < N; i++) { 
     int appWidgetId = appWidgetIds[i]; 

     Intent intent = new Intent(context, MainActivity.class); 
     PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); 

     RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.activity_main); 
     views.setOnClickPendingIntent(R.id.button1, pendingIntent); 

     appWidgetManager.updateAppWidget(appWidgetId, views); 
    } 
} 
} 
+0

我有一個空對象。謝謝 ! – user1140656