1

初めてのアプリ ウィジェットです。そして、私には問題があります。デバイスにウィジェットを設定すると問題なく動作しますが、市場から別のアプリをインストールすると停止します。押しても何も起きません。

これは私の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の違いは何ですか?

4

0 に答える 0