Каково различие между интерфейсом и @interface в Java?

Использование setContentIntent должно решить вашу проблему:

.setContentIntent(PendingIntent.getActivity(this, 0, new Intent(), 0));

Например:

NotificationCompat.Builder mBuilder= new NotificationCompat.Builder(this)
        .setSmallIcon(R.drawable.notification_icon)
        .setContentTitle("title")
        .setAutoCancel(true)
        .setContentText("content")
        .setContentIntent(PendingIntent.getActivity(this, 0, new Intent(), 0));
NotificationManager notificationManager= (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0, mBuilder.build());

Часто вы можете захотеть направить пользователя к соответствующему контенту и поэтому можете заменить «новое намерение». () 'с чем-то еще.

283
задан mavis 18 February 2014 в 20:49
поделиться

2 ответа

Символ @ обозначает определение типа аннотации.

Это означает, что это не на самом деле интерфейс, а скорее новый тип аннотации, который будет использоваться в качестве модификатора функции, например @override .

См. Эту запись javadocs по этой теме.

306
ответ дан 23 November 2019 в 01:54
поделиться

Ключевое слово interface указывает, что вы объявляете традиционный класс интерфейса в Java.
Ключевое слово @interface используется для объявления нового типа аннотации.

См. учебник docs.oracle по аннотациям для описания синтаксиса.
См. JLS , если вы действительно хотите вникнуть в подробности того, что означает @interface .

31
ответ дан 23 November 2019 в 01:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: