2

Googleが提供するコードで「mId」変数を使用する方法を知っている人はいますか?

http://developer.android.com/guide/topics/ui/notifiers/notifications.html

ドキュメントでは説明されていません。ただし、コードの最後の行として表示されます。このコードを使用しているときは未定義なので、「private int mId;」と定義する必要があります。

これで完全に失われました。これを取得したコードを以下に示します。

mNotificationManager.notify(mId, mBuilder.build());

 ButtonOne.setOnClickListener(new View.OnClickListener() {

  private int mId;

// anonymous inner class override for on click
public void onClick(View v) {

    Intent myIntent = new Intent(MainActivity.this, CoverFlowExample.class);
     MainActivity.this.startActivity(myIntent);



     NotificationCompat.Builder mBuilder =
                new NotificationCompat.Builder(MainActivity.this)
                .setSmallIcon(R.drawable.ic_launcher)
                .setContentTitle("My notification")
                .setContentText("Hello World!");
        // Creates an explicit intent for an Activity in your app
        Intent resultIntent = new Intent(MainActivity.this, MainActivity.class);

        // The stack builder object will contain an artificial back stack for the
        // started Activity.
        // This ensures that navigating backward from the Activity leads out of
        // your application to the Home screen.
        TaskStackBuilder stackBuilder = TaskStackBuilder.create(MainActivity.this);
        // Adds the back stack for the Intent (but not the Intent itself)
        stackBuilder.addParentStack(MainActivity.class);
        // Adds the Intent that starts the Activity to the top of the stack
        stackBuilder.addNextIntent(resultIntent);
        PendingIntent resultPendingIntent =
                stackBuilder.getPendingIntent(
                    0,
                    PendingIntent.FLAG_UPDATE_CURRENT
                );
        mBuilder.setContentIntent(resultPendingIntent);
        NotificationManager mNotificationManager =
            (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        // mId allows you to update the notification later on.
        mNotificationManager.notify(mId, mBuilder.build());


}

});

4

2 に答える 2

4

後で操作する目的で通知を識別するために使用される一意の ID です。デフォルトでは value を持っています0

変更のために後で取得する必要がない場合はprivate int mId、通知するときに任意の値を設定するだけで済みます。次に例を示します。

mNotificationManager.notify(123, mBuilder.build());
于 2012-10-18T07:10:47.670 に答える
0

表示しようとしている通知の一意の ID であるため、後で通知を削除または更新できます。

id はアプリのコンテキスト内で一意であるため、2 つのアプリを作成して同じ id を使用しても、android は違いを認識します。

参照: http://developer.android.com/reference/android/app/NotificationManager.html#notify(int, android.app.Notification)

開発者サイトから:

id:アプリケーション内で一意のこの通知の識別子。

ロルフ

于 2012-10-18T07:08:17.013 に答える