-1

ウィジェット クラスとウィジェットを更新するサービス クラスがあります。

onUpdate() のウィジェット クラスに次のコードを追加しました。

  RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.countdownwidget);
  Intent Intent1 = new Intent(Intent.ACTION_MAIN);
  Intent1.addCategory(Intent.CATEGORY_LAUNCHER);
  PendingIntent pendingIntent1 = PendingIntent.getActivity(context, 0, Intent1, 0);
  views.setOnClickPendingIntent(R.id.button1, pendingIntent);

  Intent Intent2 = new Intent(Intent.ACTION_MAIN);
  Intent2.addCategory(Intent.CATEGORY_LAUNCHER);
  PendingIntent pendingIntent2 = PendingIntent.getActivity(context, 0, Intent2, 0);
  views.setOnClickPendingIntent(R.id.button2, pendingIntent2); 

また、onStart() のウィジェット サービスに次のコードを追加しました。

    Intent Intent1 = new Intent(Intent.ACTION_MAIN);

    Intent1.addCategory(Intent.CATEGORY_LAUNCHER);
    PendingIntent pendingIntent1 = PendingIntent.getActivity(getApplicationContext(), 0, Intent1, 0);
    remoteView.setOnClickPendingIntent(R.id.button1, pendingIntent1);

    Intent Intent2 = new Intent(Intent.ACTION_MAIN);
    Intent2.addCategory(Intent.CATEGORY_LAUNCHER);
    PendingIntent pendingIntent2 = PendingIntent.getActivity(getApplicationContext(), 0, Intent2, 0);
    remoteView.setOnClickPendingIntent(R.id.button2, pendingIntent1);

私が抱えている問題は、暗黙のインテントがボタン 1 で起動するアプリを登録すると、ボタン 2 がボタン 1 と同一になることです。2 つのインテントの動作を変えるにはどうすればよいですか? つまり、さまざまなアプリを登録して起動します.1つのボタンで動作しますが、もう1つのボタンは最初のボタンと同じものを起動します.先週、これを機能させるために探していました. よろしくお願いします。ありがとう。

4

1 に答える 1

0

私が抱えている問題は、暗黙のインテントがボタン 1 で起動するアプリを登録すると、ボタン 2 がボタン 1 と同じになることです。

もちろんです。あなたの 4 つすべてIntentsが同一です: ACTION_MAINCATEGORY_LAUNCHER、他に何も指定されていません。Intentこれでもうまくいくことに驚いています。

したがって、ボタンにさまざまな機能を持たせるための最初のステップは、実際に異なるIntents.

また、使用しないでくださいgetApplicationContext()。をそのまま使用thisServiceContextください。

于 2010-09-05T16:54:55.707 に答える