0

これは私の通知のコードです。onClick でアプリケーションが起動するようにします。今のところ何も起こらない

private void CheckNoti(){ 
        NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(
                                service.this);
                notificationBuilder.setContentTitle("Title");
                notificationBuilder.setContentText("Context");
                notificationBuilder.setTicker("TickerText");
                notificationBuilder.setWhen(System.currentTimeMillis());
                notificationBuilder.setSmallIcon(R.drawable.ic_stat_icon);

                Intent notificationIntent = new Intent(this, service.class);
                PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
                                notificationIntent, 0);

                notificationBuilder.setContentIntent(contentIntent);

                notificationBuilder.setDefaults(Notification.DEFAULT_SOUND
                                | Notification.DEFAULT_LIGHTS | Notification.DEFAULT_VIBRATE);

                mNotificationManager.notify(1,
                                notificationBuilder.build());
    }   }

これはクラス内のコードです。MainActivity 内にはありません。だから私は次のようなことはできません:

intent.setClassName("your.package.name", "ActivityToLaunch");

私はすでにやっているからだと思いますIntent notificationIntent = new Intent(this, service.class);

4

1 に答える 1

0

アプリが既に実行されている場合にフォアグラウンドに移動するには、インテントに別のフラグを設定する必要があります。

notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);

特定のメソッドを実行するには、インテントとともに追加情報を渡し、それをアプリケーションで解釈して、実行するメソッドを決定することができます。

答えはこちら

于 2013-07-17T15:02:13.480 に答える