0

通知をクリックするとすぐにブロードキャストをトリガーするにはどうすればよいですか!?

4

1 に答える 1

0

onMessage() で GCMBaseIntentService を拡張するクラスで、以下のように setNotificationMethod を呼び出します。

private void setNotification(int defaults, String message, int flag) {

    NotificationManager mNotificationManager;
    int MOOD_NOTIFICATIONS = 12345;

    mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

    // This method sets the defaults on the notification before posting it.
    Intent handleNotification = new Intent(this, PushNotifier.class);
    handleNotification.putExtra("Result", resultfrmServer);

    // This is who should be launched if the user selects our notification.
    PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
            handleNotification, PendingIntent.FLAG_UPDATE_CURRENT);

    final Notification notification = new Notification(
            R.drawable.ic_launcher, // the icon for the status bar
            message, // the text to display in the ticker
            System.currentTimeMillis()); // the timestamp for the
                                            // notification
    notification.setLatestEventInfo(this, // the context to use
            getText(R.string.app_name),
            // the title for the notification
            message, // the details to display in the notification
            contentIntent); // the contentIntent (see above)

    notification.defaults = defaults;

    notification.flags = flag;
    mNotificationManager.notify(MOOD_NOTIFICATIONS,notification);
}

通知がクリックされると、PushNotifier クラスが開始されます。ここで、他のアクティビティを起動するか、ブロードキャスト レシーバーを登録するかを決定できます。また、プッシュ通知で受信した情報が必要な場合は、保留中の意図とそれに応じてユーザーを使用して、pushNotifier クラスに送信できます。

于 2013-02-28T07:05:02.383 に答える