小部件在安装应用后停止工作

时间:2012-09-22 14:57:23

标签: android android-appwidget onclicklistener

这是我的第一个应用小部件。我有一个问题。 当我在设备上设置小部件时,它工作正常,但是当我从市场上安装另一个应用程序时,它就会停止。我正在努力,没有任何反应。

这是我的onUpdate

@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
    super.onUpdate(context, appWidgetManager, appWidgetIds);
    final int N = appWidgetIds.length;
    for (int i = 0; i < N; i++) {
        int appWidgetId = appWidgetIds[i];

        SharedPreferences prefs = context.getSharedPreferences("prefs", 0);
        SharedPreferences.Editor editor = prefs.edit();
        editor.putInt("appWidgetId", appWidgetId).commit();

        Intent intent = new Intent();
        intent.setAction(WidgetIntent.WIDGET_INTENT);
        intent.setClassName(WidgetIntent.class.getPackage().getName(),
                WidgetIntent.class.getName());

        PendingIntent pendingIntent = PendingIntent.getBroadcast(
                context.getApplicationContext(), 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
        RemoteViews view = new RemoteViews(context.getPackageName(), R.layout.widget_layout);
        view.setOnClickPendingIntent(R.id.widget_button, pendingIntent);

        appWidgetManager.updateAppWidget(appWidgetId, view);
    }

我正在另一个扩展BroadcastReceiver的课程中播放广播。

我看到答案说我应该设置onClickPendingIntent on the onRecive。但是,我试过了,它没有用。也许我不知道该怎么做。

任何人都知道这里发生了什么?

谢谢!

更新:我刚注意到它在Android 2.3上工作正常但在4.1上停止,为什么会这样呢? 4.1中有什么区别让它停止?

0 个答案:

没有答案