0

私は PendingIntent で少し迷っています。

私が理解できる限り、これはOSに与えられたトークンであり、後で(したがって保留中の)操作を実行します。

サービスを開始したアクティビティがあります。このサービスは、ときどき通知を作成します。私がやろうとしていることは、最も単純なこととして、活動を前面に出すことです。

PendingActivity をどこで、どのように作成し、誰に送信するのかがわかりません。

  • アクティビティ内で作成した場合、それをサービスに送信する必要があります - どのように?
  • サービス内で作成した場合、アクティビティを呼び出すコンテキストはどのようになりますか? これらは同じですか?- OSの仕組みと同じだと思っていましたが、うまくいきませんでした。

ここにいくつかのコード行があります

これは機能していませんが、StartService は Intent を取得します。このコードは私のアクティビティにあります

        Intent intent = new Intent(this, NeglectedService.class);

    // The PendingIntent to launch our activity if the user selects this notification
    PendingIntent contentIntent = PendingIntent.getActivity(this, 
            0,
            intent, 
            PendingIntent.FLAG_ONE_SHOT);

    startService(contentIntent);

したがって、正しいものは

Intent intent = new Intent(this, NeglectedService.class);
startService(contentIntent);

そのため、サービスで保留中の意図を作成することを考えていますが、意図を再利用/使用する方法がわからないため、これはうまくいきませんでした

Notification notification = new Notification(R.drawable.icon, 
            extra, 
            System.currentTimeMillis());

    PendingIntent contentIntent = PendingIntent.getActivity(this, 
            0,
            intent, // not sure what intent to use here !!!!
            PendingIntent.FLAG_ONE_SHOT);

    notification.setLatestEventInfo(getApplicationContext(), contentTitle, contentText, contentIntent);
    notification.defaults |= Notification.DEFAULT_SOUND;
    notification.defaults |= Notification.DEFAULT_LIGHTS;
    notification.defaults |= Notification.FLAG_INSISTENT;

    mNotificationManager.notify(id, notification);
4

1 に答える 1

1

解決する必要があったのは、インテントで Neglected.class を使用することです。

于 2011-06-27T21:13:42.183 に答える