簡體   English   中英

單擊通知而不啟動活動Android

[英]Clicking notification without starting activity Android

我是android編程的新手,我剛剛學習了如何通過IntentPendingIntent notification 我想知道是否可以在不啟動新Activity情況下使此通知可單擊(鏈接到MainActivity )。

這就是我現在在MainActivity擁有的功能(不包括AlarmReceiver ):

Intent alarmIntent = new Intent(this, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, alarmIntent, 0);
AlarmManager manager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
manager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);

我認為我應該將“ this”更改為其他名稱,但是我不知道該怎么做。 任何幫助,將不勝感激!

您可以使用通知生成器,在本例中為compat構建器。

 NotificationCompat.Builder

設置內容后,我從這些參數中了解了我的東西。 您必須一次替換您尊敬的人。

builder.setContentTitle(params.getTitle())
            .setContentText(params.getText())
            .setWhen(params.getTime())
            .setTicker(params.getTickerText())
            .setPriority(params.getPriority())
            .setOngoing(params.isOngoing())
            .setOnlyAlertOnce(true)
            .setAutoCancel(params.getAutoCancel())
            .setStyle(params.getStyle());

創建PendingIntent並通過構建器將其添加到Notification。 此意圖應指向您的啟動器活動,從那里您可以在OnCreate中進行處理。

 builder.setContentIntent(pendingIntent);

然后推送通知

 mNotificationManager.notify(id, notification);

您還可以使這些通知指向BroadCastReceiver,並在其onReceive方法上處理對該通知的單擊。

       Intent alarmIntent = new Intent(this, MainActivity.class);
      PendingIntent intent = PendingIntent.getActivity(this, 0,
       alarmIntent , PendingIntent.FLAG_UPDATE_CURRENT);
       AlarmManager manager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
     Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(System.currentTimeMillis());
    manager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),    pendingIntent); ...try this

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM